我正在努力防止信息窗口消失。为了展示它,我使用了
[mapView_ setSelectedMarker:marker];
但是当用户点击 map 某处时,信息窗口会消失。我已经尝试在 didTapAtCoordinate
处重新设置它,但这是在取消选择任何标记之前调用的。怎么做?
最佳答案
对于任何想要在 Swift 4 中测试 Hanton 解决方案的人来说,简化为在页面加载后始终显示信息窗口:
override func viewDidLoad() {
mapView.addObserver(self, forKeyPath: "selectedMarker", options: [.new, .old], context: nil)
}
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if keyPath == "selectedMarker" {
if change?[.newKey] as? NSObject is NSNull {
mapView.selectedMarker = change?[.oldKey] as? GMSMarker
}
}
}
这确实有效,尽管当用户点击时信息窗口会短暂闪烁并消失并重新出现。
关于ios - Google map ios - 如何始终显示标记信息窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19784465/