didTapAtCoordinateのGoogle検索でhttps://developers.google.com/maps/documentation/ios-sdk/events という解決策が見つかりましたが、これはSDKの一部であることが分かっていました。
私にとって最も重要な行は、mapView.delegate = selfです。私が試した他のいくつかのソリューションでは、mapView.delegate = selfを使用していましたが、他に何も言及していない可能性があります。また、func mapViewはもちろん重要なので、ユーザーがタップした座標を使用できます。
import UIKit
import GoogleMaps
override func loadView() {
let camera = GMSCameraPosition.camera(withLatitude: 1.285,
longitude: 103.848,
zoom: 12)
let mapView = GMSMapView.map(withFrame: .zero, camera: camera)
mapView.delegate = self
self.view = mapView
}
// MARK: GMSMapViewDelegate
class DemoViewController: UIViewController, GMSMapViewDelegate {
}
func mapView(_ mapView: GMSMapView, didTapAt coordinate: CLLocationCoordinate2D) {
print("You tapped at \(coordinate.latitude), \(coordinate.longitude)")
}//end func
の
可能な重複(https://stackoverflow.com/questions/38530470/how-to-get-lat-long-of-tapped [GoogleマップのiOSスウィフトでタップした場所の緯度ロングを取得する方法] -location-in-google-map-ios-swift) – nathan
私はSwiftバージョン3とGoogleマップSDKの最新バージョンについて話しているので重複していません。私はあなたが言及した可能性のある重複の中で解決策を試しましたが、決して引き金を引くようです。 – Neo42
APIは実際には同じです:[GMSMapViewDelegate](https://developers.google.com/maps/documentation/ios-sdk/reference/protocol_g_m_s_map_view_delegate-p.html#a9f226252840c79a996df402da9eec235)。あなたは答えの下のコメントを読んだことがありますか? *ドキュメントはいを見ると、これはSwift 3で動作するはずです。GMSMapViewデリゲートが設定されていますか?* – nathan