难以在谷歌地图上获得X和Y标记的位置?

时间:2018-04-18 07:15:08

标签: ios swift google-maps google-maps-markers

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调用委托方法,因为我想获得xy标记值以创建一个视图说明该特定标记的某些信息。我怎么能这样做?

1 个答案:

答案 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”是坐标对。

请参阅didTapmarker的参考资料。

您可以使用x和y的值通过Reverse Geocoding获取标记的一些信息。

或者,当您点按标记时,您可以使用info window向用户显示信息。