【问题标题】:Using "com.google.android.gms.maps.GoogleMap", can I draw a route as I can on maps.google.com?使用“com.google.android.gms.maps.GoogleMap”,我可以在 maps.google.com 上绘制路线吗?
【发布时间】:2013-01-18 23:36:32
【问题描述】:

我希望可以使用 Android 版 Google 地图在两点之间获取路线/绘制路线(请注意:Google 地图,而不是 Google 导航)。

我刚刚让“com.google.android.gms.maps.GoogleMap”(使用 MapFragment)工作,但我没有看到任何用于在两点之间绘制/获取路线的方法。所以我怀疑这是做不到的。

有人可以验证或否认这一点吗? =)

PS:我知道“谷歌导航”。它可以使用 Intent 在那里获取路线,但问题是我无法让它在我的应用程序中“内联”,这在某种程度上并不理想。所以我转而看地图。

【问题讨论】:

    标签: android google-maps google-maps-android-api-2


    【解决方案1】:

    但我没有看到任何用于在两点之间绘制/获取路线的方法。所以我怀疑这是做不到的。

    使用a Polyline 绘制路线。

    “获取路线”不是 Maps V1 的一部分,也不是 Maps V2 的一部分。您必须找到一些可以为您提供路线信息的 Web 服务。

    此外,我强烈建议您让合格的法律顾问查看使用 Maps V2 的条款和条件,以确认您尝试做的事情在该协议的范围内,该协议包含与提供导航帮助相关的特定条款.

    【讨论】:

    • 我会尝试折线方法... =)
    【解决方案2】:

    Google Developers 使用 API V2 讨论了获取路由。API V1 确实不是正确的答案。这是 API V2 代码

    public void setupLine(LatLng startLocation){
         //set up path
         PolylineOptions line=new PolylineOptions().add(startLocation).add(startLocation).color(mLineColour);
         mPath=mMap.addPolyline(line);
         mPath.setGeodesic(true);
    
         //Add 2 points
          pathPoints=new ArrayList<LatLng>(2);
          pathPoints.add(startLocation);//origin
          pathPoints.add(startLocation);//destination - updated later
        }
    
    private void updateLine(LatLng position){
          //replace location
          pathPoints.set(1, position);
    
          //assign new points to path
          mPath.setPoints(pathPoints);
    
        }
    

    【讨论】:

      猜你喜欢
      • 2014-09-05
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 2021-10-06
      • 2014-05-04
      • 2012-08-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多