高德地图导航和路径规划

本文介绍了如何使用Python结合高德地图进行3D定位、路径规划及实时导航。首先,通过初始化mapView和开启定位,实现地图上的定位功能。接着,获取起点和终点的经纬度,动态计算并规划路径。最后,利用AMapNavi启动导航,并结合讯飞语音导航实现语音播报。
摘要由CSDN通过智能技术生成

1 高德地图定位

1.1 要使用路径规划和导航需要使用3Dmap

在build.gradle文件加入一下包

api 'com.amap.api:search:6.5.0.1'
api 'com.amap.api:location:4.3.0'
api 'com.amap.api:navi-3dmap:6.4.0_3dmap6.5.0'
复制代码
1.2 初始化mapView
  private void initAMap() {
    if (aMap == null) {
      aMap = mapView.getMap();
      //地图设置相关
      UiSettings settings = aMap.getUiSettings();
      //去掉自带的放大缩小按钮
      settings.setZoomControlsEnabled(false);
      //支持手势缩放地图
      settings.setGestureScaleByMapCenter(true);
      //地图的触摸事件
      aMap.setOnMapTouchListener(this);
      //地图加载完的回调事件
      aMap.setOnMapLoadedListener(this);
      //地图位置变化事件
      aMap.setOnCameraChangeListener(this);
      //地图点击事件
      aMap.setOnMapClickListener(this);
      // 绑定 Marker 被点击事件
      aMap.setOnMarkerClickListener(markerClickListener);
      // 设置自定义InfoWindow样式
      aMap.setInfoWindowAdapter(this);
      mAMapNavi = AMapNavi.getInstance(getApplicationContext());
      mAMapNavi.addAMapNaviListener(this);
    }
  }
复制代码
1.3 开启定位相关
public void startLocate() {
	mLocationClient = new AMapLocationClient(context);
	mLocationClient.setLocationListener(this);
	AMapLocationClientOption option=new AMapLocationClientOption();
	option.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
	//多次定位获取数据
	option.setOnceLocation(false);
	option.setInterval(8*1000);
	mLocationClient.setLocationOption(option);
	mLocationClient.startLocation();

}
复制代码
1.4 回调到下面的onLocationChanged方法中,你可以使用自定义的回调把定位数据监听回来
	@Override
	public void onLocationChanged(AMapLocation amapLocation) {
	if (amapLocation != null && amapLocation.getErrorCode() == 0) {
		PositionEntity entity = new PositionEntity();
		entity.latitue = amapLocation.getLatitude();
		entity.longitude = amapLocation.getLongitude();
		entity.city = amapLocation.getCity();
		if (!T
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值