Phonegap/Cordova + MapKit在iOS上:当pin被点击时执行javascript函数

Phonegap/Cordova + MapKit on iOS: Execute javascript function when a pin is tapped

本文关键字:pin 函数 javascript 执行 Cordova MapKit iOS Phonegap      更新时间:2023-09-26

我正在使用Phonegap/Cordova及其MapKit插件在iOS上构建一个基于HTML/javascript的应用程序。

我想执行一个javascript函数时,一个大头针被点击在地图上,理想情况下,而不是有大头针显示其默认注释。(并且还传递了一些关于哪个引脚被点击的数据,我猜是ID。)

看起来没有任何回调类型的功能为pin tap事件(没有真正的pin tap事件),只有当更多的信息类型的按钮在注释被点击。

有谁知道这个功能是否存在,或者我该如何添加它?

我已经回答了我自己的问题——这是我最终在MapKit.m中添加的内容:

//when a pin is selected, do something
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
    NSString *annotationTapFunctionString = [NSString stringWithFormat:@"%s%@%s", "annotationTap('", [view.annotation title], "')"];
    [self.webView stringByEvaluatingJavaScriptFromString:annotationTapFunctionString];
}

当一个大头针被点击时,它调用annotationTap javascript函数,并以大头针的标题作为参数。