【问题标题】:Invoking Google Map Applications from an Android application to get dirving direction从 Android 应用程序调用 Google 地图应用程序以获取行车路线
【发布时间】:2011-04-02 09:27:07
【问题描述】:


我需要使用外部谷歌地图应用程序显示行车方向我找到了这个链接http://developer.android.com/guide/appendix/g-app-intents.html,但下面打开地图应用程序到给定位置

    Uri uri = Uri.parse("geo:13.070984,80.253639");
    Intent in = new Intent(Intent.ACTION_VIEW, uri);
    startActivity(in);

我需要知道是否有任何方法可以通过两个地理位置来获取行车方向。

【问题讨论】:

    标签: android google-maps android-intent


    【解决方案1】:

    是的,如果你有源和目的地的纬度和经度,它很容易显示方向。 只需看下面的代码:

    Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
        Uri.parse("http://maps.google.com/maps?saddr="+latitude_source+","+longitude_source+"&daddr="+latitude_dest+","+longitude_dest));
    
        startActivity(intent);
    

    在哪里 latitude_source=Latitude 您的来源 longitude_source=Longitude 您的来源 latitude_dest=Latitude 您的目的地 longitude_dest=Longitude你的目的地

    只需将这些值替换为您的实际数据即可。 .在某些特定事件上使用上面的代码。

    希望这会对你有所帮助。

    【讨论】:

    • 请注意,Uri 模式不是 Android SDK 的一部分,因此可能随时停止工作。
    • 这很好用,但是有没有办法使用 Intent 选择器在浏览器和地图之间进行选择。
    • @ganesh,你的意思是你不希望意图选择器弹出并且只想加载到地图应用程序中?然后添加这行代码intent.setComponent(new ComponentName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity"));
    • @dinesh Sharma 我如何获得经度和纬度?我只知道文本格式的地址..
    • @CHAKRAVARTHI:请参考此链接:stackoverflow.com/questions/3574644/…
    【解决方案2】:

    我已经通过触发使用 Google 地图 URL 的意图来实现这一点 - 地图应用程序会选择它,并且它可以工作。我认为它不是官方推荐的,但对我来说效果很好。

    Intent intent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse(String.format(http://maps.google.com/maps?saddr=%s&daddr=%s, startAddress, endAddress)));
    startActivity(intent);
    

    以上适用于位置名称,您可能需要调整它以使用纬度/经度。以下是两个纬度/经度点之间有用的示例 Google 地图路线 URL: http://maps.google.co.uk/maps?f=d&source=s_d&saddr=A685&daddr=M40&hl=en&geocode=FazjPwMdRKPc_w%3BFeS8GgMdNMfr_w&mra=me&mrsp=1,0&sz=5&sll=53.800651,-4.064941&sspn=22.244994,67.631836&ie=UTF8&t=h&z=5

    【讨论】:

      【解决方案3】:

      您可以使用以下 URL 在两个位置之间获取路由。

      https://maps.google.com/maps?saddr=kedah&daddr=johor

      saddr 是起点,daddr 是终点。

      示例代码:

      Intent intent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse(String.format("http://maps.google.com/maps?saddr=kedah&daddr=johor")));
      startActivity(intent);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-17
        • 1970-01-01
        • 2020-11-19
        • 2020-04-29
        相关资源
        最近更新 更多