接着上一篇 自定义地图 自定义地图 继续写自定义导航
高德地图就不写了 官方文档有的 自己去看好了 写的比我好 简单清晰
首先看一下 效果
效果01
可以看出 功能很齐全 但并不是我们想要的
再看一下 我需要的
效果02
效果03
效果04
到这里以后 我就说一下思路
/**
* 思路
*
* 初始化基础地图
* 初始化导航
* 规划路线
* 创建导航图层 并添加规划好的路线
* 自定义需要的一些属性 和 功能 去除高德提供的一些不重要的图层信息
* 将路线添加到地图并开始导航
*
*/
直接上代码
/*思路 * * 初始化基础地图 * 初始化导航 * 规划路线 * 创建导航图层 并添加规划好的路线 *
自定义需要的一些属性 和 功能 去除高德提供的一些不重要的图层信息 * 将路线添加到地图并开始导航 * */
public class
AMapRouteActivity extends Activity implements AMapNaviViewListener,
AMapNaviListener {
private AMapNaviView navi_map;
private AMapNavi aMapNavi;
private List startPointList = new ArrayList<>();// 起点的集合
private List endPointList = new ArrayList<>(); // 终点的集合
private List wayPointList = new ArrayList<>(); // 途径点的集合
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_amaproute);
// 初始化地图并创建地图
navi_map = (AMapNaviView) findViewById(R.id.navi_map);
navi_map.setAMapNaviViewListener(this);
navi_map.onCreate(savedInstanceState);
// 获取地图属性 并设置相关属性
AMapNaviViewOptions options = navi_map.getViewOptions();
// 关闭高德提供的导航图层
options.setLayoutVisible(false);
// 关闭高德提供的导航路线绘制
options.setAutoDrawRoute(false);
// 设置自车位置
options.setCarBitmap(BitmapFactory.decodeResource(this.getResources(),R.mipmap.map_owner_img));
// 设置导航属性
navi_map.setViewOptions(options);
initAMapNavi();
// 添加导航路线 起点 终点 途径点
NaviLatLng start = new NaviLatLng();
NaviLatLng end = new NaviLatLng();
NaviLatLng way1 =