1、效果图示
2、行动轨迹数据
<span style="font-size:18px;">[
{
"LocationX":"121.42619",
"LocationY":"31.186655"
},
{
"LocationX":"121.42694",
"LocationY":"31.187215"
},
{
"LocationX":"121.425961666667",
"LocationY":"31.187475"
},
{
"LocationX":"121.425641666667",
"LocationY":"31.1873733333333"
}
]</span>
3、样例数据封装
<span style="font-size:18px;">// 测试数据
DataDeviceLocation deviceLocation1 = new DataDeviceLocation();
deviceLocation1.setLocationX("121.42619");
deviceLocation1.setLocationY("31.186655");
DataDeviceLocation deviceLocation2 = new DataDeviceLocation();
deviceLocation2.setLocationX("121.42694");
deviceLocation2.setLocationY("31.187215");
DataDeviceLocation deviceLocation3 = new DataDeviceLocation();
deviceLocation3.setLocationX("121.425961666667");
deviceLocation3.setLocationY("31.187475");
DataDeviceLocation deviceLocation4 = new DataDeviceLocation();
deviceLocation4.setLocationX("121.425641666667");
deviceLocation4.setLocationY("31.1873733333333");
locations.add(deviceLocation4);
locations.add(deviceLocation3);
locations.add(deviceLocation2);
locations.add(deviceLocation1);</span>
4、坐标转换 —— GPS WGS84坐标转百度坐标
<span style="font-size:18px;">geoPoint = CoordinateConvert
.fromWgs84ToBaidu(new GeoPoint(
(int) (Double.valueOf(locations.get(i)
.getLocationY()) * 1E6), (int) (Double
.valueOf(locations.get(i)
.getLocationX()) * 1E6)));</span>
<span style="font-size:18px;"> OverlayTest itemOverlay = new OverlayTest(getResources().getDrawable(
R.drawable.map_location_icon), mMapView);
mMapView.getOverlays().clear();
mMapView.getOverlays().add(itemOverlay);</span>
6、填充图钉位置坐标数据
<span style="font-size:18px;">OverlayItem item = new OverlayItem(geoPoint,"","");
item.setMarker(getResources().getDrawable(
R.drawable.map_location_icon));
itemOverlay.addItem(item);</span>
7、添加轨迹图层
<span style="font-size:18px;">MKRoute route = new MKRoute();
GeoPoint[] geoPoints = new GeoPoint[locations.size()];
route.customizeRoute(geoPoints[0], geoPoints[geoPoints.length-1], geoPoints);
RouteOverlay routeOverlay = new RouteOverlay(this, mMapView);
routeOverlay.setData(route);
mMapView.getOverlays().add(routeOverlay);</span>