高德地图API支持绘制覆盖物,覆盖物API类似于JS开源地图绘制库Leaflet,如果有相关经验可以轻松上手。
支持的覆盖物:
折线(Polyline)
多边形(Polygon)
圆(Circle)
图片覆盖层(GroundOverlay)
标记(Marker)
弧形(Arc)
如何创建覆盖物:
a.创建覆盖物选项对象(XXOptions eg:Polyline)
b.设置覆盖物选项
c.创建覆盖物对象 (new XX(xxOptions) eg:new Polyline(new PolylineOptions()))
e.追加至地图 (amap.addXXX eg:amap.addPolyline(xxx) )
http://lbs.amap.com/api/android-sdk/guide/overlay/
//折线选项对象
PolylineOptions polyline=new PolylineOptions()
.geodesic(false)
.color(Color.rgb(0, 51, 255))
.setDottedLine(true)
.width(5L);
for(Test data:datas){
//经纬度对象
LatLng tmp=new LatLng(data.getLat(), data.getLon());
//创建Mark 并使用自定义图片
mMapView.getMap().addMarker(new MarkerOptions()
.position(tmp)
.title(data.getTitle())
.snippet(this.buildMarkerSnippet(data))
.draggable(false)
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.location_marker))
.anchor(0.5F,0.5F))
.setRotateAngle(360 - Float.parseFloat(data.getCourse()));
//将当前经纬度添加到直线中
polyline.add(tmp);
}
//绘制直线
mMapView.getMap().addPolyline(polyline);
来源:CSDN
作者:the_c_d
链接:https://blog.csdn.net/The_c_D/article/details/51932663