我的服务器数据包含我的标记坐标,数据是动态的。接下来,我必须将它们添加到谷歌地图。但是5秒后(我有计时器)数据发生了变化,我必须在标记处更改我的数据。 我的功能:
//self.markers.map = nil
self.mapView.clear()
for temp_cord in double_arr {
self.markers = GMSMarker(position: CLLocationCoordinate2D(latitude: Double(temp_cord[1])!, longitude: Double(temp_cord[2])!))
self.markers.map = self.mapView
}
如果我取消注释self.markers.map = nil
我的标记会重复但不会删除。所以我的标记看起来像汽车,然后在谷歌地图上移动。
答案 0 :(得分:1)
在绘制新的引脚组之前,必须先移除所有引脚。使用以下代码删除地图中的所有图钉。它适用于我
NSObject类
import Foundation
class LocationVO: NSObject {
var L_Latitude: String
var L_Longitude: String
var L_Id: String
var L_PlaceId: String
var L_Reference: String
var L_Name: String
}
的ViewController
func plotPins() {
mapView_.clear()
if isCurrentLoc {
if marker_ == nil {
marker_ = GMSMarker()
}
}
else {
marker_ = GMSMarker()
marker_.userData = locationVO
}
var target: CLLocationCoordinate2D = CLLocationCoordinate2DMake(locationVO.L_Latitude, locationVO.L_Longitude)
marker_.position = target
marker_.title = "Current:"
var coord: String = "\(latitude) \(longitude)"
marker_.appearAnimation = kGMSMarkerAnimationPop
DLog("%f %f", latitude, longitude)
// marker.icon = [UIImage imageNamed:@"marker"];
if isCurrentLoc {
marker_.opacity = 0.0
}
marker_.snippet = (coord)
marker_.map = mapView_
}
谢谢,希望它有所帮助!!!