android:高德地图点标记与取消标记

 其实就是在惦记取消的时候删除所有标记,再遍历一遍重新画出来

int img 是R.id.ic_map

double v1 v2 是经纬度,顺序你自己看吧

boolean tf 是checkbox的选中状态,可能有同学用不到,另外再改就行

   private ArrayList<LatLng> latLngs = new ArrayList<>();//标记地图的方法private void MapMarker(double v1, double v2,int img,Boolean tf) {LatLng latLng = new LatLng(v1, v2);if(tf){MarkerOptions markerOption = new MarkerOptions();markerOption.position(latLng);aMap.moveCamera(CameraUpdateFactory.changeLatLng(latLng));//标记点居中显示markerOption.draggable(true);//设置Marker可拖动markerOption.icon(BitmapDescriptorFactory.fromBitmap(BitmapFactory.decodeResource(getResources(), img)));// 将Marker设置为贴地显示,可以双指下拉地图查看效果markerOption.setFlat(true);//设置marker平贴地图效果Marker marker = aMap.addMarker(markerOption);marker.setRotateAngle(0);latLngs.add(latLng);}else {latLngs.remove(latLng);aMap.clear();for (LatLng mo : latLngs) {MarkerOptions markerOption = new MarkerOptions();markerOption.position(mo);aMap.moveCamera(CameraUpdateFactory.changeLatLng(mo));markerOption.draggable(true);markerOption.icon(BitmapDescriptorFactory.fromBitmap(BitmapFactory.decodeResource(getResources(), img)));markerOption.setFlat(true);Marker marker = aMap.addMarker(markerOption);marker.setRotateAngle(0);}}}