高德地图如何添加覆盖物(添加自定义布局到地图上)

Android 高德地图上添加覆盖物最简单的是直接添加Marker

AMap aMap =mapView.getMap();

Marker marker = aMap.addMarker(new MarkerOptions()

       .position(latLng)//设置经纬度

        .title("标题)//设置点击后显示的标题

        .snippet("内容")//设置点击后显示的内容

        .icon(BitmapDescriptorFactory.fromBitmap(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_dt4)))); //设置图片(覆盖物)

这样就是一个基本添加marker案例

实现自定义的覆盖物

其实就是设置他的icon,

问:"icon不是设置图片吗?",

答:其实我们传的并不是图片,而是一个bitmap,Android里面View也是可以转成bitmap的,所以我们直接将布局转换成bitmap即可

//找到一个布局

View view =this.getLayoutInflater().inflate(R.layout.layout,null);

//找到这个布局中的控件

TextView mapiocation_tv = view.findViewById(R.id.tv);

//给这控件设置一个值

mapiocation_tv.setText("这是一个自定义覆盖物");

AMap aMap =mapView.getMap();

//添加一个marker

Marker marker = aMap.addMarker(new MarkerOptions()

       .position(latLng)//设置经纬度

        .title("标题")//设置标题

        .snippet("内容")//设置内容

      //重点

        .icon(BitmapDescriptorFactory.fromView(view)));//设置布局

你可能感兴趣的:(高德地图如何添加覆盖物(添加自定义布局到地图上))