//创建和初始化地图函数: function initMap() { createMap(); //创建地图 setMapEvent(); //设置地图事件 addMapControl(); //向地图添加控件 addMarker(); //向地图中添加marker } //创建地图函数: function createMap() { var map = new BMap.Map("dituContent"); //在百度地图容器中创建一个地图 //个性化在线编辑器地址:http://developer.baidu.com/map/custom/ var styleJson = [ { "featureType": "land", "elementType": "geometry", "stylers": { "color": "#212121" } }, { "featureType": "building", "elementType": "geometry", "stylers": { "color": "#2b2b2b" } }, { "featureType": "highway", "elementType": "all", "stylers": { "lightness": -42, "saturation": -91 } }, { "featureType": "arterial", "elementType": "geometry", "stylers": { "lightness": -77, "saturation": -94 } }, { "featureType": "green", "elementType": "geometry", "stylers": { "color": "#1b1b1b" } }, { "featureType": "water", "elementType": "geometry", "stylers": { "color": "#181818" } }, { "featureType": "subway", "elementType": "geometry.stroke", "stylers": { "color": "#181818" } }, { "featureType": "railway", "elementType": "geometry", "stylers": { "lightness": -52 } }, { "featureType": "all", "elementType": "labels.text.stroke", "stylers": { "color": "#313131" } }, { "featureType": "all", "elementType": "labels.text.fill", "stylers": { "color": "#8b8787" //"color": "#8b8787" } }, { "featureType": "manmade", "elementType": "geometry", "stylers": { "color": "#1b1b1b" } }, { "featureType": "local", "elementType": "geometry", "stylers": { "lightness": -75, "saturation": -91 } }, { "featureType": "subway", "elementType": "geometry", "stylers": { "lightness": -65 } }, { "featureType": "railway", "elementType": "all", "stylers": { "lightness": -40 } }, { "featureType": "boundary", "elementType": "geometry", "stylers": { "color": "#8b8787", "weight": "1", "lightness": -29 } } ] map.setMapStyle({styleJson:styleJson}); var point = new BMap.Point(114.274975|30.616212); //定义一个中心点坐标 map.centerAndZoom(point, 14); //设定地图的中心点和坐标并将地图显示在地图容器中 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: 1 }); map.addControl(ctrl_ove); //向地图中添加比例尺控件 var ctrl_sca = new BMap.ScaleControl({ anchor: BMAP_ANCHOR_BOTTOM_LEFT }); map.addControl(ctrl_sca); } //标注点数组 var markerArr = [ { title: "荷塘码头黑鱼馆(菱角湖万达店)", content: "武汉江汉区菱角湖万达广场四楼", point: "114.274975|30.616212", isOpen: 1, icon: { w: 23, h: 25, l: 46, t: 21, x: 9, lb: 12} } ,{ title: "荷塘码头黑鱼馆(湖北武昌店)", content: "武汉市光谷区珞瑜路鲁广购物中心五楼
电话:027--50664695", point: "114.40318|30.512803", isOpen: 1, icon: { w: 23, h: 25, l: 46, t: 21, x: 9, lb: 12} } ]; /* var markerArr = [{ title: "杭州>>宝贝第一", content: "贝豪婴童杭州市拱墅区丰潭路85号", point: "120.116168|30.287197", isOpen: 1, icon: { w: 23, h: 25, l: 46, t: 21, x: 9, lb: 12} } ];*/ //创建marker function addMarker() { for (var i = 0; i < markerArr.length; i++) { var json = markerArr[i]; var p0 = json.point.split("|")[0]; var p1 = json.point.split("|")[1]; var point = new BMap.Point(p0, p1); var iconImg = createIcon(json.icon); var marker = new BMap.Marker(point, { icon: iconImg }); var iw = createInfoWindow(i); var label = new BMap.Label(json.title, { "offset": new BMap.Size(json.icon.lb - json.icon.x + 10, -20) }); marker.setLabel(label); map.addOverlay(marker); label.setStyle({ borderColor: "#fff", //borderColor: "#808080", color: "red", //color: "#333", cursor: "pointer" }); (function () { var index = i; var _iw = createInfoWindow(i); var _marker = marker; _marker.addEventListener("click", function () { this.openInfoWindow(_iw); }); _iw.addEventListener("open", function () { _marker.getLabel().hide(); }) _iw.addEventListener("close", function () { _marker.getLabel().show(); }) label.addEventListener("click", function () { _marker.openInfoWindow(_iw); }) if (!!json.isOpen) { label.hide(); _marker.openInfoWindow(_iw); } })() } } //创建InfoWindow function createInfoWindow(i) { var json = markerArr[i]; var iw = new BMap.InfoWindow("" + json.title + "
" + json.content + "
"); return iw; } //创建一个Icon function createIcon(json) { var icon = new BMap.Icon("http://app.baidu.com/map/images/us_mk_icon.png", new BMap.Size(json.w, json.h), { imageOffset: new BMap.Size(-json.l, -json.t), infoWindowOffset: new BMap.Size(json.lb + 5, 1), offset: new BMap.Size(json.x, json.h) }) return icon; } initMap(); //创建和初始化地图