搜尋

首頁  >  問答  >  主體

android - html5中URL打开手机上的地图APP

html5中URL打开手机上的地图APP,能做到吗?比如我手机上装了几个地图APP,提示我自由选择用那个?请高手

大家讲道理大家讲道理2772 天前634

全部回覆(2)我來回復

  • 阿神

    阿神2017-04-17 11:53:02

    這個很簡單。
    android的話,可以先看看官方的文檔
    app-intent

    程式碼,我記不得非常清楚了,應該是這樣的。

    Uri uri = Uri.parse("geo:0,0"); // 0, 0代表经纬度
    Intent intent = new Intent(Intent.ACTION_VIEW, uri);
    startActivity(intent);
    

    iOS的話就稍微麻煩一些,你要自己根據選擇去開啟對應的APP,例如googlemap
    google map sdk for ios

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]]
    

    或使用官方的apple map
    Map 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>
    

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 11:53:02

    做一個中間頁,例如 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>
    

    至於具體的 urlduring 自己調吧,我以前設定的好像 200 就夠用了...

    應用的原理是:如果 url 能打開,則會跳到對應 app

    回覆
    0
  • 取消回覆