AndroidStudio(Java)中使用地图方向API在两点之间找到路线
创始人
2024-08-21 11:30:16
0
  1. build.gradle 文件中添加如下代码:
    implementation 'com.google.maps:google-maps-services:0.5.0'
  1. AndroidManifest.xml 文件中添加地图 API 密钥:

  1. MainActivity.java 文件中添加如下代码:
import com.google.maps.DirectionsApi;
import com.google.maps.DirectionsApiRequest;
import com.google.maps.GeoApiContext;
import com.google.maps.model.DirectionsResult;
import com.google.maps.model.TravelMode;

public class MainActivity extends AppCompatActivity {

    private GeoApiContext mGeoApiContext;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 初始化 GeoApiContext,需要传入地图 API 密钥
        mGeoApiContext = new GeoApiContext.Builder()
                .apiKey("YOUR_API_KEY")
                .build();

        // 调用查询路线的方法
        getDirections();
    }

    private void getDirections() {
        DirectionsApiRequest request = DirectionsApi.getDirections(mGeoApiContext,
                "originAddress",
                "destinationAddress")
                .mode(TravelMode.DRIVING);

        try {
            DirectionsResult result = request.await();
            // 获取路线信息
            // Code your logic for obtaining and displaying the route here
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

注意替换 YOUR_API_KEYoriginAddressdestinationAddress。 4. 解析查询结果并在地图上显示路线。 这里展示一个简单的方法:使用 Polyline 在地图上显示路线

PolylineOptions line = new PolylineOptions();
List latLngList = new ArrayList();

List decodedPath = result.routes[0].overviewPolyline.decodePath();
for (com.google.maps.model.LatLng latLng : decodedPath) {
    latLngList.add(new LatLng(latLng.lat, latLng.lng));
}

line.addAll(latLngList);
line.width(12f);
line.color(Color.RED);

// 在地图上画出路线
map.addPolyline(line);

注:这里的 map 是指 GoogleMap 对象,需要先获得该对象(示例略)。

相关内容

热门资讯

六分钟透视!广丰510k辅助,... 六分钟透视!广丰510k辅助,pokemmo辅助器脚本下载(推荐几款新版开挂辅助插件);1、完成广丰...
3分钟辅助!小程序微乐游戏辅助... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
六分钟开挂!山城九九辅助,卡农... 六分钟开挂!山城九九辅助,卡农大厅辅助(技术分享开挂辅助平台);无需打开直接搜索薇:13670430...
三分钟透视!微信呢微乐游戏辅助... 三分钟透视!微信呢微乐游戏辅助脚本,四川游戏家园通用辅助(科技介绍开挂辅助平台)【无需打开直接搜索加...
六分钟开挂!蜀山四川小程序脚本... 六分钟开挂!蜀山四川小程序脚本,pokernow辅助控制(今日公布开挂辅助下载);无需打开直接搜索加...
1分钟透视!盛世辅助软件怎么样... 大家好,今天小编来为大家解答盛世辅助软件怎么样这个问题咨询软件客服可以免费测试直接加微信(13670...
第二分钟辅助!德扑之星安卓插件... 第二分钟辅助!德扑之星安卓插件,天天卡五星辅助器(记者爆料开挂辅助神器)德扑之星安卓插件ai黑科技系...
第四分钟辅助!边锋老友杰克辅助... 大家好,今天小编来为大家解答蛮王大厅辅助教程这个问题咨询软件客服可以免费测试直接加微信(136704...
第九分钟辅助!宁波同乐游辅助下... 您好:宁波同乐游辅助下载这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的...
八分钟开挂!顺兴茶楼辅助软件,... 八分钟开挂!顺兴茶楼辅助软件,wepoker私人局透视插件(透视透视开挂辅助下载);无需打开直接搜索...