我正在为Mac应用程序开发一项新功能,它与地图有关。例如,让我们使用iPhoto的“位置”。

iPhoto使用Google Maps用红色别针显示各种照片的位置。
现在,当我单击这些图钉之一时,应用程序本身-iPhoto-会对该单击做出反应,而不是WebView /地图。因此,当我单击图钉时,视图会发生变化,并显示该位置的所有照片。不在地图上,而是在iPhoto中的其他屏幕上。因此,我假设iPhoto从JavaScript / Map中获取某种回调,以便它可以更改视图。

这就是我要实现的目标。从Google Maps回调到我的Objective-C / Cocoa代码,以便我可以更改应用程序内部的某些内容,而不是Map本身,具体取决于用户单击的标记。

谢谢您的帮助,亲切的问候,

马蒂亚斯

最佳答案

使用UIWebView,我认为没有直接的方法来获取回调。一种粗略的方法是让NSTimer通过调用stringByEvaluatingJavaScriptFromString来定期检查页面中javascript变量的状态/值。基于该值,目标c代码可以执行某些操作。但是,我不建议这样做。

最好改用MKMapView,这样可以使您更轻松,更直接地访问地图(尽管MKMapView不具有完整Google Maps的所有功能)。我还没有测试过,但是this article显示了一种检测何时选择MKAnnotation引脚的方法。

关于objective-c - 使用WebView从Google Maps获取Cocoa/Objective-C回调,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2230762/

10-12 16:27