您的位置:首页 > 其它

运动轨迹持续画法

2016-04-19 13:17 363 查看
注意的地方:1、

PolylineOptions options 传递到 aMap.addPolyline(options) options是两个list列表,所以每次 aMap.addPolyline 最好都new一个

PolylineOptions 。

2、在2D地图上连续画线始终都有锯齿。这是一个大坑,我跳进去好久好久都没起来,有一天我研究其他app发现他们的轨迹没有锯齿,发现他们是用的3D地图,于是我也将地图改成3D,至此终于跳出坑了。

LatLng lastLan,tempLan ;

@Override

public void onLocationChanged(AMapLocation amapLocation) {

if (mListener != null && amapLocation != null) {

if (amapLocation != null && amapLocation.getErrorCode() == 0) {

mListener.onLocationChanged(amapLocation);// 显示系统小蓝点

float accuracy = amapLocation.getAccuracy();

// float speed = amapLocation.getSpeed();

if (accuracy > 40)

return;

lon = (float) amapLocation.getLongitude();// 经度

lat = (float) amapLocation.getLatitude();// 纬度

tempLan = new LatLng(lat, lon);

if(null=lastLan){

pointLine(tempLan );

}else{

PolylineOptions options =new PolylineOptions.visible(true).color(lineColor).width(brush)

options.add(lastLan, lan);

aMap.addPolyline(options).setDottedLine(true);//、

lastLan=tempLan ;

}

}

private void pointLine(LatLng latlng) {

if (null == latlng)

return;

// 初始画线

PolylineOptions polylineOptions = initOptions();

polylineOptions.add(latlng);

Polyline line = aMap.addPolyline(polylineOptions);// 画线

line.setGeodesic(true);// 曲线样式

drawStartMarker(latlng);// 标记开始位置

}

但是这样画线有个不足之处,就是分段太多,画出的线条折点很多,希望有朋友指出改进方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: