地图初始化:
//地图初始化 var opt = { level:11, //设置地图缩放级别 center:new AMap.LngLat(117.289686, 31.867204), //设置地图中心点 doubleClickZoom:true, //双击放大地图 scrollWheel:false//鼠标滚轮缩放地图 } var map = new AMap.Map("container",opt); map.plugin(["AMap.ToolBar","AMap.OverView","AMap.Scale"],function(){ var toolbar = new AMap.ToolBar(); toolbar.autoPosition=false; //加载工具条 map.addControl(toolbar); var overview = new AMap.OverView(); //加载鹰眼 map.addControl(overview); var scale = new AMap.Scale(); //加载比例尺 map.addControl(scale); });
添加覆盖物:
//添加覆盖物 function addMapCover(obj){ var geocoderOption = { range:400, // 范围 crossnum:1, // 道路交叉口数 roadnum :1, // 路线记录数 poinum:1 // POI点数 }; var gc=new AMap.Geocoder(geocoderOption); var mypoint=new AMap.LngLat(obj.longitude_point, obj.dimensionality_point); var direc=obj.direction; var iconImg ="../images/mapicon/currcar_0.gif"; //添加相应的覆盖物 if(!obj.count||obj.count==0) { //自定义覆盖物dom 元素 var m = document.createElement("div"); m.className = "markerlabel"; var markeruri= document.createElement("img"); markeruri.className="markerlnglat"; markeruri.src=iconImg; m.appendChild(markeruri); var n = document.createElement("span"); n.innerHTML = " "+obj.car_num; m.appendChild(n); var marker = new AMap.Marker({ map:map, position:mypoint, //基点位置 offset:new AMap.Pixel(0,0), //相对于基点的偏移位置 content:m //自定义覆盖物内容 }); covers.push(marker); //添加监听 AMap.event.addListener(marker,'click',function(e){ //获取地址信息 gc.regeocode(mypoint, function(rs){ showLocationInfo(obj,rs); }); }); }else if(obj.count&&obj.count>0) {// 如果子节点存在且数量大于1的显示数字 //自定义覆盖物dom 元素 var m = document.createElement("div"); m.className = "bubbleimg"; var n = document.createElement("span"); n.innerHTML = "<b><a style='text-decoration: none' href='javascript:void(0)'>"+(obj.count+1)+"</a></b>"; m.appendChild(n); var marker = new AMap.Marker({ map:map, position:mypoint, //基点位置 offset:new AMap.Pixel(0,0), //相对于基点的偏移位置 content:m //自定义覆盖物内容 }); covers.push(marker); var cids = obj.childrenIds; var cidstr="(,"+cids+",)"; //添加监听 AMap.event.addListener(marker,'click',function(e){ showCarListBubble(cidstr); }); } }
显示窗口:
//显示地址信息窗口 function showLocationInfo(obj,marker,rs){ var content=''; //获取地理位置 var locAddress="未知"; if (rs.status == "E0") { var province, city, district, road; province = rs.list[0].province.name; if (province == "北京市") { city = province; } else { city = rs.list[0].city.name; } district = rs.list[0].district.name; road=""; if(typeof(rs.list[0].roadlist[0])!="undefined"){ road = rs.list[0].roadlist[0].name; } var address=""; if(typeof(rs.list[0].poilist[0])!="undefined"){ address = rs.list[0].poilist[0].address; } if(address==""){ locAddress = province + city + district + road; }else{ locAddress = province + city + district + address; } } content='<button class="tabbtn" οnclick="toCurrentStatus()">1</button> ' +'<button class="tabbtn" οnclick="toPliceInfo()">1</button> ' +'<div id="currentstatus" style="height:285px; width:350px; overflow:auto" ><table height="160px" width="260px">' +'<tr><td align="right">1</td><td>'+locAddress+'</td></tr>' +'<tr><td align="right">1</td><td>'+obj.rule_name+'</td></tr>' +'<tr><td align="right">1</td><td>'+obj.tel+'</td></tr>' +'<tr><td align="right">1</td><td>'+obj.record_time+'</td></tr>' +'<tr><td align="center" colspan="2"></td></tr></table></div>'; var infoWindow = new AMap.InfoWindow({ content:content, size:new AMap.Size(320,190), offset:{x:15,y:5} }); infoWindow.open(map,marker.getPosition()); }