3
私はswiftとGoogle Maps SDKの新機能で、ユーザーがGoogle Maps SDKを使ってタップした座標を取得する方法を知りました。たとえば、ユーザーがマップ上の特定の場所で指を押さえている場合、そこに注釈が作成されます。本当にありがとうございます。Swift - GoogleMaps SDKがタッチ上で座標を取得する
私はswiftとGoogle Maps SDKの新機能で、ユーザーがGoogle Maps SDKを使ってタップした座標を取得する方法を知りました。たとえば、ユーザーがマップ上の特定の場所で指を押さえている場合、そこに注釈が作成されます。本当にありがとうございます。Swift - GoogleMaps SDKがタッチ上で座標を取得する
GMSMapViewDelegateには、mapView:didLongPressAtCoordinate:
というメソッドがあります。このメソッドは、特定の座標で長押しのジェスチャーの後に呼び出されます。参照番号hereを参照してください。同様のデリゲートメソッドは、同様の方法で使用することができmapView:didTapAtCoordinate:
と呼ばれる実装することができ、タップジェスチャーについて
func mapView(mapView: GMSMapView!, didLongPressAtCoordinate coordinate: CLLocationCoordinate2D) {
let marker = GMSMarker(position: coordinate)
marker.title = "Hello World"
marker.map = mapView
}
:
は、このメソッドを実装することによって、あなたはその後、マップビューにマーカーを追加することができ
func mapView(mapView: GMSMapView!, didTapAtCoordinate coordinate: CLLocationCoordinate2D) {
print("Tapped at coordinate: " + String(coordinate.latitude) + " "
+ String(coordinate.longitude))
}
ユーザーが既存のマーカーを長押しするとどうなりますか?マーカーや地図上でのユーザーの押し込みを特定するにはどうすればよいですか? –
GMSMapViewDelegate mapView:didTapMarker:メソッドを使用して、マーカーのタップを検出できます。残念ながら、デリゲートのマーカーの長押しを検出する方法はありません。したがって、mapView:didLongPressAtCoordinate:メソッドを使用してマーカーの位置属性に基づいてマーカを特定する必要があります。おそらく、マーカの座標を、デリゲートによって提供されたときにユーザが長押しした座標と比較して比較します。こちらをご覧ください:https://developers.google.com/maps/documentation/ios-sdk/reference/interface_g_m_s_marker.html#a2b9fdae0160d7acf439889ffcdb5f68b –