[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を取得
//タップしたときの処理
}