Android 高德地图步行路线规划教程:详细代码示例
以下是一个使用高德地图API进行步行路线规划的示例代码:
- 首先,在
build.gradle文件中添加高德地图API的依赖:
dependencies {
implementation 'com.amap.api:3dmap:7.5.0' // 高德地图API
}
- 在Activity中创建一个
AMap对象,并在onCreate方法中初始化:
public class MainActivity extends AppCompatActivity {
private AMap aMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取地图控件
MapView mapView = findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
// 初始化AMap对象
aMap = mapView.getMap();
}
}
- 在需要进行步行路线规划的地点,调用以下方法:
// 起点和终点的经纬度
LatLng startPoint = new LatLng(39.90923, 116.397428);
LatLng endPoint = new LatLng(39.915285, 116.403857);
// 创建路径规划的起点和终点对象
RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(
new LatLonPoint(startPoint.latitude, startPoint.longitude),
new LatLonPoint(endPoint.latitude, endPoint.longitude)
);
// 创建步行路径规划的查询对象
RouteSearch.WalkRouteQuery walkRouteQuery = new RouteSearch.WalkRouteQuery(fromAndTo);
RouteSearch routeSearch = new RouteSearch(this);
routeSearch.setRouteSearchListener(new RouteSearch.OnRouteSearchListener() {
@Override
public void onBusRouteSearched(BusRouteResult busRouteResult, int i) {
}
@Override
public void onDriveRouteSearched(DriveRouteResult driveRouteResult, int i) {
}
@Override
public void onWalkRouteSearched(WalkRouteResult walkRouteResult, int i) {
// 获取步行路径规划的结果
if (i == 1000 && walkRouteResult != null) {
if (walkRouteResult.getPaths() != null && walkRouteResult.getPaths().size() > 0) {
WalkPath walkPath = walkRouteResult.getPaths().get(0);
if (walkPath != null) {
// 在地图上绘制路径
WalkingRouteOverlay walkingRouteOverlay = new WalkingRouteOverlay(
MainActivity.this, aMap, walkPath,
walkRouteResult.getStartPos(),
walkRouteResult.getTargetPos()
);
walkingRouteOverlay.addToMap();
}
}
}
}
@Override
public void onRideRouteSearched(RideRouteResult rideRouteResult, int i) {
}
});
// 开始进行步行路径规划
routeSearch.calculateWalkRouteAsyn(walkRouteQuery);
- 最后,在
onDestroy方法中释放地图资源:
@Override
protected void onDestroy() {
super.onDestroy();
// 释放地图资源
mapView.onDestroy();
}
这样就可以在地图上绘制出起点到终点的步行路径了。请注意,以上示例中的经纬度和起点终点的设置仅供参考,实际使用时需要根据需求进行修改。另外,还可以根据需要设置路径的颜色、宽度等属性。
原文地址: https://www.cveoy.top/t/topic/pjVY 著作权归作者所有。请勿转载和采集!