【问题标题】:Phonegap/Cordova + MapKit on iOS: Execute javascript function when a pin is tappediOS上的Phonegap / Cordova + MapKit:点击pin时执行javascript函数
【发布时间】:2013-01-19 23:47:11
【问题描述】:
我正在使用 Phonegap/Cordova 及其 MapKit 插件在 iOS 上构建基于 HTML/javascript 的应用程序。
我想在地图上单击图钉时执行 javascript 函数,最好不要让图钉显示其默认注释。 (并且还传递了一些关于点击哪个图钉的数据,我猜是 ID。)
看起来没有任何针对 pin tap 事件的回调类型功能(实际上并没有 pin tap 事件),只有在单击注释上的更多信息类型按钮时。
有人知道这个功能是否存在,或者我应该如何添加它?
【问题讨论】:
标签:
javascript
cordova
mapkit
phonegap-plugins
【解决方案1】:
我已经回答了我自己的问题——这就是我最终放入 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];
}
当一个 pin 被点击时,它会调用 annotationTap javascript 函数并将 pin 的标题作为参数。