我想创建自己的标记,因为我需要跟踪有关它们的额外信息(例如,添加日期、标记 ID)...
于是我又创建了一个类,如下:
class myMarker: GMSMarker {
var markerID: Int
var addedDate: NSDate
}
但我不知道接下来要做什么……我应该创建一个“init”方法来填充我的标记 ID 和添加日期吗?或者我应该覆盖 GMSMarker 构造函数(不是“init”)
有可能
class myMarker: GMSMarker {
var markerID: Int
var addedDate: NSDate
var myMarker: GMSMarker
init(marID: Int, date: NSDate, GMSMarker: markerwithoutDateNorId){
self.markerID = marID
self.addedDate = date
self.myMarker = markerwithoutDateNorId
}
}
我真的不知道如何实现这一点。也许我什至不需要实现构造函数,而是使用 GMSMarker 构造函数(我相信我继承了它),然后使用 set 方法来设置标记 ID 和日期?
或者我可以覆盖 GMSMarker 构造函数,然后使用 super(what-is-expecting-here) 然后我将添加日期和标记 ID。
我真的需要创建我自己类型的标记,因为我需要跟踪这些东西......例如,我希望在 future ,例如删除超过 1 周的所有标记......如果我不这样做不跟踪标记日期,那是不可能的。
我真的需要 Swift 和一般的编程。我真的很感激你的帮助:)
最佳答案
还有另一种方法,GMSMarker 有 userData 属性,它可以接受 AnyObject。
var info: Dictionary<String, AnyObject>?
info[“markerID”] = 0
info[“addedDate”] = NSDate()
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude:latitude, longitude:longitude)
marker.map = nil
marker.tracksInfoWindowChanges = false
marker.map = self.mapView
marker.userData = info
关于ios - 如何创建我自己的 GMSMarker? (谷歌 map ,iOS)- Swift,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38559871/