Apple从当前位置映射路由请求URL

时间:2014-09-05 01:18:08

标签: ios google-maps maps

我现在正在考虑一个适用于iOS的应用程序,该应用程序可以通过URL链接向其他人(没有Internet连接)发送短信,以便在他们点击链接时将他们离线指向我在原生地图应用中的位置。  我知道可以使用这种URL来完成:

http://maps.apple.com/maps?saddr=<their location>&daddr=<my location, filled by my app>

当然,我可以将saddr留空,让他们从自动填充列表中选择当前位置作为起始点,但是它还需要一步才能获得方向。我只想确保给​​他们最方便的方式。

如何引导原生地图应用程序通过此URL自动获取SMS接收者用户的当前位置?我需要这样的事情:

http://maps.apple.com/maps?saddr=current_location&daddr=<my location, filled by my app>

我还想将此链接发送给其他平台用户,就像我可以使用的Android用户一样:

http://maps.google.com/maps?saddr=current_location&daddr=<my location, filled by my app>

Windows Phone(我还不知道):

http://maps.???.com/maps?saddr=current_location&daddr=<my location, filled by my app>

非常感谢任何关键字或答案!

2 个答案:

答案 0 :(得分:12)

你非常接近!

Apple Maps:

http://maps.apple.com/maps?saddr=Current%20Location&daddr=<Your Location>

Google地图:

comgooglemaps-x-callback://?saddr=&daddr=<Your Location>

答案 1 :(得分:3)

如果您使用的是objective-c:

    NSString *urlString = [NSString stringWithFormat:@"maps.apple.com/maps?saddr=&daddr=%@,%@",destinationLatitude,destinationLongitude];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];

如果您使用的是swift 2.2:

    var string = "http://maps.apple.com/?saddr=&daddr=\(destinationLatitude),\(destinationLongitude)"
    UIApplication.sharedApplication().openURL(NSURL(string: string)!)

如果您使用的是swift 3.0:

    var string = "http://maps.apple.com/?saddr=&daddr=\(destinationLatitude),\(destinationLongitude)"
    UIApplication.shared.openURL(URL(string: string)!)