公司业务员有个需求,需要实现下图的效果:
乍一看这图,挺复杂的,刨开分析,主要如下:
1绘制点(蓝绿色的散点,线端的蓝色空心点)
2.绘制线
3.信息框(红色的排名信息,框中的时间及人物信息)
看上去简单,实现起来还是碰到了一些坑的:
1.空心圆和线的位置对不上,看上去很别扭
2.那些排序数字用InfoWindow实现时每次只能展示一个,必须寻求其它方法
3.右上角有个选择人物,切换后需要切换点的信息,怎样刷新?
这里我使用的是高德地图,集成那些就省略了,高德开发文档写的挺清楚的。集成后开始上边的第一个步骤。
一:绘制点
绘制点挺简单的,参照高德文档绘制点标记
我的代码:
private List<Marker> markers = new ArrayList<>();
//展示某一个数据轨迹
private void showOneSalesmanTravel(BitmapDescriptor bitmap, LatLngBounds.Builder builder, List<TravelSalesman> list, List<TravelBranch> listBranch, String salesman) {
markers.clear();
List<LatLng> latLngs = new ArrayList<>();
//拜访门店
int i = 0;
BitmapDescriptor bitmapBranch = BitmapDescriptorFactory.fromResource(R.mipmap.red_point);
for (TravelBranch travelBranch : listBranch) {
i++;
LatLng latLng = new LatLng(travelBranch.getXlocationLat(),