如何获取Marker的经纬度Swift
How to get Marker 's longitude and latitude Swift
我有地图视图,用户可以拖动标记。点击标记时,它会显示包含标记位置的片段。
如何获取marker的经纬度?如果标记被拖到另一个位置。
这是我所做的:
var latitude = -7.034323799999999
var longitude = 110.42400399999997
var displayAddress = [String]()
func customizeMap() {
mapView.delegate = self
let camera = GMSCameraPosition.camera(withLatitude: Double(latitude), longitude: Double(longitude), zoom: 17)
mapView.animate(to: camera)
let markerImage = UIImage(named: "ic_home_detail_marker_location")
let markerView = UIImageView(image: markerImage)
let marker = GMSMarker()
marker.position = CLLocationCoordinate2DMake(Double(latitude), Double(longitude))
marker.isDraggable = true
marker.iconView = markerView
marker.snippet = displayAddress[0]
mapView.selectedMarker = marker
marker.map = mapView
}
我现在使用的是静态经纬度
为此,您可以使用 didBeginDragging marker
和 didEndDragging marker
委托 GMSMapViewDelegate
的方法。
func mapView(_ mapView: GMSMapView, didDrag marker: GMSMarker) {
print("Drag")
}
func mapView(_ mapView: GMSMapView, didBeginDragging marker: GMSMarker) {
print("Old Coordinate - \(marker.position)")
}
func mapView(_ mapView: GMSMapView, didEndDragging marker: GMSMarker) {
print("New Coordinate - \(marker.position)")
}
我有地图视图,用户可以拖动标记。点击标记时,它会显示包含标记位置的片段。
如何获取marker的经纬度?如果标记被拖到另一个位置。
这是我所做的:
var latitude = -7.034323799999999
var longitude = 110.42400399999997
var displayAddress = [String]()
func customizeMap() {
mapView.delegate = self
let camera = GMSCameraPosition.camera(withLatitude: Double(latitude), longitude: Double(longitude), zoom: 17)
mapView.animate(to: camera)
let markerImage = UIImage(named: "ic_home_detail_marker_location")
let markerView = UIImageView(image: markerImage)
let marker = GMSMarker()
marker.position = CLLocationCoordinate2DMake(Double(latitude), Double(longitude))
marker.isDraggable = true
marker.iconView = markerView
marker.snippet = displayAddress[0]
mapView.selectedMarker = marker
marker.map = mapView
}
我现在使用的是静态经纬度
为此,您可以使用 didBeginDragging marker
和 didEndDragging marker
委托 GMSMapViewDelegate
的方法。
func mapView(_ mapView: GMSMapView, didDrag marker: GMSMarker) {
print("Drag")
}
func mapView(_ mapView: GMSMapView, didBeginDragging marker: GMSMarker) {
print("Old Coordinate - \(marker.position)")
}
func mapView(_ mapView: GMSMapView, didEndDragging marker: GMSMarker) {
print("New Coordinate - \(marker.position)")
}