高德地图-轨迹回放(二)
生活随笔
收集整理的這篇文章主要介紹了
高德地图-轨迹回放(二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
利用高德地圖作軌跡回放的另一種方法是利用官方api覆蓋物中的AMap.Polyline來做,官方給出的例子中也是此原理實現的。
實現地圖軌跡的主要函數如下
function track(){
map.clearMap();//先清空地圖
$('.pos .posDesc').empty();
$.getJSON('track.json',function(data){//這是獲取數據
var arr1=[];
var arr=[];
var startPot = [];
var endPot = [];
for(var i=0;i<data.gps.length;i++){
var dt = data.gps[i].dTime;
if(diff(dt,$st.val())>=0&&diff(dt,$et.val())<=0){
arr1 = GPS.gcj_encrypt(data.gps[i].latY,data.gps[i].lngX);//坐標轉換,消除坐標誤差
arr.push([arr1.lon,arr1.lat]);
}
}
startPot = arr[0];
endPot = arr[arr.length-1];
var marker= new AMap.Marker({
map: map,
position: startPot,
icon: "http://webapi.amap.com/images/car.png",//代表人物的圖標
offset: new AMap.Pixel(-26,-13),
autoRotation: true//自動轉彎(ie8及以下不支持)
});//添加起點標志
//繪制路線(利用官方的api,根據坐標繪制路線)
var polyline = new AMap.Polyline({
map: map,
path: arr,
strokeColor: "#9F9F5F",
strokeWeight:6,
lineJoin:"round"
});
//走過路線的樣式
var passedPolyline = new AMap.Polyline({
map:map,
strokeColor:"#006BB1 ",
strokeWeight:6,
isOutline:true,
outlineColor:'#fff',
showDir:true,
lineJoin:"round"
});
//設置移動過的路線
marker.on('moving',function(e){
passedPolyline.setPath(e.passedPath);
});
//視野居中
map.setFitView();
AMap.event.addDomListener(start,'click',function(){
marker.moveAlong(arr,speed.value);//設置移動路線及速度
},false);
AMap.event.addDomListener(pause,'click',function(){
marker.pauseMove();//暫停運動
},false);
AMap.event.addDomListener(resume,'click',function(){
marker.resumeMove();//繼續運動
},false);
AMap.event.addDomListener(stop,'click',function(){
marker.stopMove();//停止運動
map.clearMap();
},false);
var stmarker = new AMap.Marker({
map: map,
position: startPot, //基點位置(起點)
icon: "https://webapi.amap.com/theme/v1.3/markers/n/start.png",
zIndex: 10
});
var endmarker = new AMap.Marker({
map: map,
position: endPot, //基點位置(終點)
icon: "https://webapi.amap.com/theme/v1.3/markers/n/end.png",
zIndex: 10
});
});
}
以上就是利用高德地圖的AMap.Polyline繪制地圖,并實現軌跡回放的主要方式,以此總結
總結
以上是生活随笔為你收集整理的高德地图-轨迹回放(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 魏牌CEO“六喷”余承东:做增程的闷声发
- 下一篇: 使用OGR2OGR将S57数据转为shp