【发布时间】:2019-02-21 23:58:28
【问题描述】:
我正在制作谷歌地图的演示我在谷歌地图中添加了大约 20-30 个标记在谷歌地图上的标记,所以当用户在文本字段中输入地名时,我想这样做,该地点将被显示,它是标记和所有以前的标记我在谷歌地图中添加的也应该显示。所以当用户在 UITextField 中输入位置时,我添加了标记。我成功完成了所有任务。但是当用户搜索另一个位置时,前一个搜索标记位置仍然是那个位置。所以我不知道如何在用户搜索时删除前一个标记另一个地方..
//这是我的代码
//IBOutlet
@IBOutlet var ViewMap: GMSMapView!
func GetLocationFromAddress(address: String) {
let geocoder = CLGeocoder()
geocoder.geocodeAddressString(address, completionHandler: {(placemarks, error) -> Void in
if((error) != nil){
print("Error", error ?? "")
}
if let placemark = placemarks?.first {
let coordinates:CLLocationCoordinate2D = placemark.location!.coordinate
print("lat", coordinates.latitude)
print("long", coordinates.longitude)
let position = CLLocationCoordinate2D(latitude: coordinates.latitude, longitude: coordinates.longitude)
let marker = GMSMarker(position: position)
marker.title = "Name Of Location"
marker.map = self.ViewMap
let camera = GMSCameraPosition.camera(withLatitude: coordinates.latitude,
longitude: coordinates.longitude,
zoom: self.zoomLevel)
self.ViewMap.camera = camera
self.ViewMap.animate(to: camera)
}
})
}
//function call
@IBAction func btnSearchAction(_ sender: Any) {
GetLocationFromAddress(address: self.txtSearch.text!)
}
您的任何帮助都让我过得愉快..提前谢谢!!!!
【问题讨论】:
标签: swift3