在我的应用程序中,我用标记绘制了一条路线,但是当我点击路线或标记时,什么都不会射击。我确保执行以下操作:
使我的班级A NMAMAPVIEWDELEGATE:
class ViewController: UIViewController, NMARouteManagerDelegate, NMAMapViewDelegate {
将代表设置为自我:
override func viewWillAppear(_ animated: Bool) {
mapView.delegate = self
}
设置委托方法:
func mapViewDidSelectObjects(_ mapView: NMAMapView, objects: [NMAMapObject]) {
print("map view delegate method called")
}
有人知道为什么代表不开火吗?这只是iOS SDK的Swift版本中的错误吗?
如果您使用自己的gestureDelegate
,则是这样的:
override func viewWillAppear(_ animated: Bool) {
mapView.delegate = self
mapView.gestureDelegate = self
}
不要忘记将手势事件推入defaultGestureHandler
:
public func mapView(_ mapView: NMAMapView, didReceiveTapAt location: CGPoint) {
mapView.defaultGestureHandler?.mapView?(mapView, didReceiveTapAt: location)
// gesture handling
}
此对象负责选择,如果定义自定义gestureDelegate
选择停止工作。
这是针对iOS的There SDK的高级版本的启动器?
如果高级版本,您在Swift中指定的签名不正确,则应为
func mapView(_ mapView: NMAMapView!, didSelect objects: [Any]!)
如本文中提到的:此处地图中的静音语音说明iOS SDK,可以使用Xcode中的"生成界面"功能找到正确的签名。