html5中URL打开手机上的地图APP,能做到吗?比如我手机上装了几个地图APP,提示我自由选择用那个?请高手
光阴似箭催人老,日月如移越少年。
这个很简单。 android的话,你可以先看看官方的文档app-intent
代码,我记不得非常清晰了,应该是这样的。
Uri uri = Uri.parse("geo:0,0"); // 0, 0代表经纬度 Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent);
iOS的话就稍微麻烦一些,你要自己根据选择去打开对应的APP,比如googlemapgoogle map sdk for ios
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]]
或者使用官方的apple mapMap Links
NSURL *url = [NSURL URLWithString:@"http://maps.apple.com/?q=cupertino"]
所以你要做的就是
<html> <body> <!-- android --> <a href="geo:0,0">my location</a> <!-- ios --> <a href="http://maps.apple.com/?q=cupertino">my location</a> </body> </html>
做一个中间页面,比如 redirect.html 然后加入
redirect.html
<script type="text/javascript"> window.location.href = "appleMap://"; setTimeout( function(e){ window.location.href = "gmap://"; },200); setTimeout( function(e){ window.location.href = "bdmap://";....},400); setTimeout( function(e){ window.location.href = "gmap://";},600}; </script>
至于具体的 url 和 during 自己调吧,我以前设置的好像 200 就够用了...
url
during
200
应用的原理就是:如果 url 能打开,则会跳转到相应 app
app
这个很简单。
android的话,你可以先看看官方的文档
app-intent
代码,我记不得非常清晰了,应该是这样的。
iOS的话就稍微麻烦一些,你要自己根据选择去打开对应的APP,比如googlemap
google map sdk for ios
或者使用官方的apple map
Map Links
所以你要做的就是
做一个中间页面,比如
redirect.html
然后加入至于具体的
url
和during
自己调吧,我以前设置的好像200
就够用了...应用的原理就是:如果
url
能打开,则会跳转到相应app