这里地图iOS Swift API -MapViewDidSelectObjects委托方法未启动



在我的应用程序中,我用标记绘制了一条路线,但是当我点击路线或标记时,什么都不会射击。我确保执行以下操作:

使我的班级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中的"生成界面"功能找到正确的签名。

最新更新