[swift] GoogleMap Polylineをタップできるようにする

GoogleMap Polylineをタップできるようにする

GoogleMapに配置したPolylineなどのオブジェクトもマーカー同様タップで反応できるようにすることができる

サンプルコード
GoogleMapのベースは完成しているものとする

func polylineInit(){
    var latitude: CLLocationDegrees = 1.304843 //Singapore
    var longitude: CLLocationDegrees = 103.831824 //Singapore
    
    var oldlatitude: CLLocationDegrees = 1.304850 //Singapore
    var oldlongitude: CLLocationDegrees = 103.831830 //Singapore

    let path = GMSMutablePath() //線の準備
    path.addCoordinate(CLLocationCoordinate2DMake(oldlatitude, oldlongitude)) //線の部品生成
    path.addCoordinate(CLLocationCoordinate2DMake(latitude, longitude)) //線の部品生成
                
    let polyline = GMSPolyline(path: path) //線を作成
    polyline.spans = [GMSStyleSpan(style: GMSStrokeStyle.solidColor(kMapLineBaseColor))]
    polyline.strokeWidth = 5.0//線の太さ
    polyline.map = mapView//線を描画
    polyline.tappable = true
    polyline.title = "1"
}

func mapView(mapView: GMSMapView, didTapOverlay overlay: GMSOverlay) {
    let str = overlay.title //PolylineのTitleを取得
    //タップしたときの処理
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です