let camera = GMSCameraPosition.camera(withLatitude: 36.80, longitude: 10.18, zoom: 2.0)
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
mapView.delegate = self
view = mapView
// Creates a marker in the center of the map.
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: 36.80, longitude: 10.18)
marker.title = "Tunis"
marker.snippet = "Tunisia"
marker.map = mapView
let position = CLLocationCoordinate2D(latitude: 51.5, longitude: -0.127)
let london = GMSMarker(position: position)
london.title = "London"
london.map = mapView
这些是我拥有的标记,点击它didtapMarker
调用委托方法,因为我想获得x
,y
标记值以创建一个视图说明该特定标记的某些信息。我怎么能这样做?
答案 0 :(得分:5)
mapView:didTapMarker:是一个在点击标记后调用的委托函数。因此,为了获得x和y的值,您需要这样做:
func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {
print(marker.position.latitude) //will print the x value or lat
print(marker.position.longitude) //will print the y value or lng
return false
}
请注意,标记具有“position”属性,“position”是坐标对。
您可以使用x和y的值通过Reverse Geocoding获取标记的一些信息。
或者,当您点按标记时,您可以使用info window向用户显示信息。