引用高德地图描点画行动轨迹

来源:互联网 发布:java wait和notify 编辑:程序博客网 时间:2024/06/08 19:04

<script language="javascript" src="http://webapi.amap.com/maps?v=1.3&key="></script>

arr数组中存放地址的经纬度

function initMap(arr){

mapObj = new AMap.Map("staff_track_index_map_container");  //要显示地图的区域
    //初始化地图对象,加载地图
    var mapArr=new Array();
    
    $.each(arr,function(i){
        var j=i+1;
        mapArr.push(new Array(arr[i]["cust_name"]+"    "+arr[i]["add_time"],arr[i]["longitude"],arr[i]["dimension"]));
    })
    mapInit(mapArr); 
}


function mapInit(arr){

var aLine=arr;
var AlineNew=Array();
if(aLine.length!=0)
     {
         AlineNew.push(new Array("",aLine[0][1],aLine[0][2]))
     }else{
    var Center=getMapCenter();
         AlineNew.push(new Array("暂无轨迹",Center[0],Center[1]));
         
     }
 
mapObj = new AMap.Map("staff_track_index_map_container",{
         view: new AMap.View2D({
             center:new AMap.LngLat( AlineNew[0][1],AlineNew[0][2]),//地图中心点
             zoom:14 //地图显示的缩放级别
         })
     });


     if(aLine.length!=0)
     {
         addMarker(aLine);
         addLine(aLine,false);
     } 
}

function addMarker(arr){
//自定义窗体信息
    var infoWindow = new AMap.InfoWindow({
            offset: new AMap.Pixel(0, -30)
        });
//console.log(mapObj);
for (var i = 0; i < arr.length; i++) {
var marker;
var icon;
if(i==0){
icon="__PUBLIC__/assets/images/gps_qidian.png";
}else if(i==arr.length-1){
icon="__PUBLIC__/assets/images/gps_zhongdian.png";
}else{
icon="__PUBLIC__/assets/images/position_shop.png";
}
marker = new AMap.Marker({
              icon:icon,
              title:arr[i][0],
              position:new AMap.LngLat(arr[i][1],arr[i][2])
          });

        marker.setMap(mapObj);  //在地图上添加点
        marker.on('click', markerClick);
        marker.emit('click', {target: marker});
        mapObj.setFitView();
       
}
function markerClick(e) {
   infoWindow.setContent(e.target.title);
   infoWindow.open(mapObj, e.target.getPosition());
}

}


function addLine(arr) {

    var lineArr = new Array();//创建线覆盖物节点坐标数组
    var color="red";
    for(var i=0;i<arr.length;i++)
    {
        lineArr.push(new AMap.LngLat(arr[i][1],arr[i][2]));
    }
    polyline = new AMap.Polyline({
        path:lineArr, //设置线覆盖物路径
        strokeColor:""+color+"", //线颜色
        strokeOpacity:1, //线透明度
        strokeWeight:2, //线宽
        strokeStyle:"solid", //线样式
        strokeDasharray:[10,5] //补充线样式
    });
    polyline.setMap(mapObj);
}




function getMapCenter(){
    var mapCenter = mapObj.getCenter();
    var rArr=new Array(mapCenter.getLng(),mapCenter.getLat());
    return rArr;
}