-1

我想知道如何从我的应用程序启动其他应用程序。

这里的情况:

我有一个指向特定经度/纬度的 MapView。

我想让用户有机会使用这两个应用程序自己导航(谷歌地图或苹果地图)到坐标。

那我怎么能:

  1. 启动另一个应用程序(在此示例中为 GoogleMaps 或 Maps),首先检查安装了哪个应用程序
  2. 向他们传递长/纬度坐标?

我希望这足够清楚..

4

1 回答 1

2

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];
            }
于 2013-04-30T12:35:18.040 回答