gpt4 book ai didi

iphone - 在 Android 和 iPhone 上使用默认起始位置从浏览器打开谷歌地图应用程序

转载 作者:可可西里 更新时间:2023-11-01 18:57:26 31 4
gpt4 key购买 nike

我有一个移动网站,我有一个链接,可以使用链接格式在 iphone 和 android 上使用默认的开始和结束位置打开 google maps native 应用程序:http://maps.google.com/maps?saddr=XX&daddr=XX .

我的问题是,我希望能够将起始位置设置为当前位置,并且我希望它在 android 和 iphone 浏览器中都能正常工作。根据我的经验,如果我将 saddr 留空,在 android 中这默认为当前位置,但在 iphone 上它只是将开始位置留空。如果我将 saddr 设置为“当前位置”,这会将起始位置设置为 iphone 上的当前位置,但在 android 上它无法识别该位置。

我现在的解决方案是使用用户的地理纬度/经度坐标作为起始地址。这在两个平台上都能成功运行,但取决于用于获取坐标的方法,它可能不如应用程序上 gps 的用户当前位置准确。我想知道是否有某种方法可以获取链接以使用正确的“当前位置”作为起点打开 native 应用程序。我知道我也可以有条件地检查用户代理并相应地创建链接,但我希望有一种更优雅的方式来做到这一点。

最佳答案

我只是将以下字符串中的值替换为我的起点和终点 Lng/Lat

http://maps.google.com/maps?saddr=START_ADD&daddr=DEST_ADD&ll=START_ADD

然后我在 android 中启动这样的 url,这将让用户选择使用浏览器还是他们的本地 map 应用程序:

String url = "http://maps.google.com/maps?saddr=START_ADD&daddr=DEST_ADD&ll=START_ADD";

startActivity( new Intent(Intent.ACTION_VIEW).setData(Uri.parse(url)));

对于 iOS,如果您在 url 前加上 maps://而不是 http://,它将在手机上启动 map 应用程序,效果非常好。有点像

NSString *url = @"maps://maps.google.com/maps?saddr=START_ADD&daddr=DEST_ADD&ll=START_ADD";

[[UIApplication sharedApplication] openURL:[NSURL urlWithString:url]];

这就是我选择的处理方式。在任一设备上使用各自的位置框架获取当前的 Lng/Lat 都非常容易。结果对我来说也总是很准确,您可以指定您想要结果的准确度。越准确,电池消耗越多,有时需要更长的时间来获取,但这通常是您最终进行调整以获得最佳实现结果的方法。

关于iphone - 在 Android 和 iPhone 上使用默认起始位置从浏览器打开谷歌地图应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6703349/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com