我想知道如何从我的应用程序启动其他应用程序。
这里的情况:
我有一个指向特定经度/纬度的 MapView。
我想让用户有机会使用这两个应用程序自己导航(谷歌地图或苹果地图)到坐标。
那我怎么能:
- 启动另一个应用程序(在此示例中为 GoogleMaps 或 Maps),首先检查安装了哪个应用程序
- 向他们传递长/纬度坐标?
我希望这足够清楚..
我想知道如何从我的应用程序启动其他应用程序。
这里的情况:
我有一个指向特定经度/纬度的 MapView。
我想让用户有机会使用这两个应用程序自己导航(谷歌地图或苹果地图)到坐标。
那我怎么能:
我希望这足够清楚..
handleopenurl.com是一个很好的网站,可以直接从您的应用程序中获取打开应用程序的链接。如果您在那里搜索谷歌地图,它会向您显示一个类似这样的链接,其中仅包含链接中的纬度/经度。
routeString = [NSString stringWithFormat:@"comgooglemaps://?daddr=%f,%f&saddr=%f,%f&mrsp=0&ht=it&ftr=0", contactPosition.latitude, contactPosition.longitude, myPosition.latitude, myPosition.longitude];
(此外,您还需要将Google Maps SDK整合到您的应用中。)
现在检查是否安装了谷歌地图应用程序,您将使用canOpenURL
方法来确定。如果未安装应用程序,它将在 Safari 网络浏览器中打开 Google 地图。
if([[UIApplication sharedApplication]canOpenURL:routeString]){
[[UIApplication sharedApplication] openURL:routeString];
}
else{
self.urlGlobal=[NSURL URLWithString:@"http://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&sensor=false"];
[[UIApplication sharedApplication]openURL:self.urlGlobal];
}