/** * Created by windy on 2018/9/12. */ //创建和初始化地图函数: function initMap(ContainerId,LngNumber,LatNumber,ZoomNumber,MarkerArr){ var markerArr = MarkerArr; createMap(ContainerId,LngNumber,LatNumber,ZoomNumber);//创建地图 setMapEvent();//设置地图事件 addMapControl();//向地图添加控件 addMarker(markerArr);//向地图中添加marker } //创建地图函数: function createMap(ContainerId,LngNumber,LatNumber,ZoomNumber){ var map = new BMap.Map(ContainerId);//在百度地图容器中创建一个地图 var point = new BMap.Point(LngNumber, LatNumber);//定义一个中心点坐标 map.centerAndZoom(point,ZoomNumber);//设定地图的中心点和坐标并将地图显示在地图容器中 window.map = map;//将map变量存储在全局 } //地图事件设置函数: function setMapEvent(){ map.enableDragging();//启用地图拖拽事件,默认启用(可不写) map.enableScrollWheelZoom();//启用地图滚轮放大缩小 map.enableDoubleClickZoom();//启用鼠标双击放大,默认启用(可不写) map.enableKeyboard();//启用键盘上下左右键移动地图 } //地图控件添加函数: function addMapControl(){ //向地图中添加缩放控件 var ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE}); map.addControl(ctrl_nav); //向地图中添加缩略图控件 var ctrl_ove = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:0}); map.addControl(ctrl_ove); //向地图中添加比例尺控件 var ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT}); map.addControl(ctrl_sca); } //创建marker function addMarker(MarkerArr){ var markerArr = MarkerArr; var point = new Array(); var marker = new Array(); var label = new Array(); var iw = new Array(); var searchInfoWindow = new Array(); var info = new Array(); for(var i=0;i"+json.title+"
"+json.content+"",marker[i]); } } function addClickHandler(content,marker){ marker.addEventListener("click",function(e){ openInfo(content,e)} ); } function openInfo(content,e){ var p = e.target; var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat); var infoWindow = new BMap.InfoWindow(content); // 创建信息窗口对象 map.openInfoWindow(infoWindow,point); //开启信息窗口 } function createIcon(json){ var icon = new BMap.Icon( "statics/images/markers.png", new BMap.Size(json.w,json.h), { imageOffset: new BMap.Size(-json.l,-json.t), anchor:new BMap.Size(json.x,json.h) } ); return icon; }