Ich bin neu bei swift und dem Google Maps SDK und habe mich gefragt, wie ich die Koordinaten ermitteln kann, wo der Nutzer mit dem Google Maps SDK getappt hat. Wenn zum Beispiel ein Benutzer seinen Finger an einer bestimmten Stelle auf einer Karte hält, wird dort eine Anmerkung erstellt. Ich würde deine Hilfe sehr schätzen, danke.Swift - GoogleMaps SDK erhält Koordinaten bei Berührung
3
A
Antwort
8
In GMSMapViewDelegate gibt es eine Methode namens: mapView:didLongPressAtCoordinate:
, die nach einer langen Druckgeste an einer bestimmten Koordinate aufgerufen wird. Siehe die Referenz here.
Durch Implementierung dieses Verfahrens könnte man dann eine Markierung auf der Karte Ansicht hinzufügen:
func mapView(mapView: GMSMapView!, didLongPressAtCoordinate coordinate: CLLocationCoordinate2D) {
let marker = GMSMarker(position: coordinate)
marker.title = "Hello World"
marker.map = mapView
}
Für eine Tippgeste ein ähnliches Delegatmethode implementiert werden kann mapView:didTapAtCoordinate:
genannt, die in ähnlicher Weise verwendet werden können:
func mapView(mapView: GMSMapView!, didTapAtCoordinate coordinate: CLLocationCoordinate2D) {
print("Tapped at coordinate: " + String(coordinate.latitude) + " "
+ String(coordinate.longitude))
}
Verwandte Themen
- 1. FabricJS-Canvas-Koordinaten bei Berührung
- 2. Swift/Spritekit SKNode bei Berührung nicht erkannt
- 3. GoogleMaps in Swift anzeigen?
- 4. GoogleMaps API -Adresse zu Koordinaten (Breite, Länge)
- 5. Delphi Convert GPS Koordinaten für GoogleMaps
- 6. MapBox Scrollseite bei Berührung
- 7. GoogleMaps IOS SDK: viewMap.myLocationEnabled = true. funktioniert nicht
- 8. UIButton Absturz App bei Berührung
- 9. Android Waage Knopf bei Berührung
- 10. Zeige Schublade bei Berührung Video
- 11. Fehler Google SDK von CocoapPods iOS Swift
- 12. MapView Hinzufügen von Pins bei Berührung
- 13. Wie erkennen Sie kontinuierliche Berührung in Swift?
- 14. Ziehen von Bildern nach der Berührung Koordinaten in Android
- 15. Wie Koordinaten der Berührung mit Spielbrett auf verschiedenen Bildschirmen verbinden
- 16. Erhalten Sie Koordinaten von mehreren Berührungen in Swift
- 17. didChangeCameraPosition erhält Begrenzungsrechteck/Rechteck der verfügbaren Koordinaten
- 18. Liniendiagramm-Hervorhebung bei Berührung anzeigen und ausblenden
- 19. Owl Karussell 2 - benutzerdefinierte Animation bei Berührung
- 20. Button-Effekt bei Berührung in Android
- 21. Popup bei Berührung der Anmerkung iphone
- 22. IE (Handy) zeigt keine Unterpunkte bei Berührung
- 23. Eine UIAlertView bei jeder Berührung ablehnen
- 24. Kein Ripple-Effekt bei Berührung in Recyclerview
- 25. UISearchController - Suchleiste verschwindet von Wrapper bei Berührung
- 26. UIButton in der Unteransicht, die keine Berührung nach NSLayoutConstraint erhält
- 27. Android Emulator googlemaps MyLocation
- 28. So erhalten Sie das neueste GoogleMaps SDK mit Pods
- 29. Wie kann man Tableviewcellentext bei Berührung im iPhone SDK editierbar machen?
- 30. Swift Facebook SDK Logout
Was passiert, wenn der Benutzer lange auf bestehende Marker drückt? Wie kann ich den Benutzer auf einen Marker oder eine Karte drücken? –
Mit der GMSMapViewDelegate mapView: didTapMarker: -Methode können Sie ein Tippen auf eine Markierung erkennen. Leider gibt es keine Methode zum Erkennen von langen Drücken auf Marken im Delegaten. Daher müssten Sie die mapView: didLongPressAtCoordinate: -Methode verwenden und dann Ihren Marker basierend auf seinem Positionsattribut identifizieren, wahrscheinlich indem Sie die Koordinaten des Markers durchgehen und mit der Koordinate vergleichen, die der Benutzer lange gedrückt hat. Siehe hier: https://developers.google.com/maps/documentation/ioss-sdk/reference/interface_g_m_s_marker.html#a2b9fdae0160d7acf439889ffcdb5f68b –