百度地图多标注显示以及自定义图标

**

百度地图多标注显示以及自定义图标

**

效果图:
在这里插入图片描述

HTML部分

<style>
	*{
		margin:0px;
		padding:0px
	}			
	html{
		font-size: 100%;
	}  
	body{
		font-size:1em;
	} 
	
	 body,html,#container {
		width: 100%;
		height: 100%;
		overflow: hidden;
		margin: 0;
		position: absolute;
	}
</style>
<div id="container"></div>

JS部分

<script type="text/javascript" src="js/jquery-1.10.2.js" ></script>
var markerArr = [
		{
			name:"设备1",
			location:"上海市浦东新区东方路2000号东视大厦",
			lng: "121.51",
			lat: "31.24",
			isOpen:0,icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
		},
		{
			name:"设备2",
			location:"上海市浦东新区世纪大道1号",
			lng: "121.4095",
			lat: "31.24",
			isOpen:0,icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
		},
		{
			name:"设备3",
			location:"上海市静安区老沪太路203甲",
			lng: "121.4095",
			lat: "31.1796",
			isOpen:0,icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
		},
		{
			name:"设备4",
			location:"上海市浦东新区东方路2000号东视大厦",
			lng: "121.4095",
			lat: "31.2000",
			isOpen:0,icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
		},
 ];

    
 function map_init() {
 var map = new BMap.Map("container"); // 创建Map实例
        
        var point = new BMap.Point(121.4095,31.1796); //地图中心点,广州市
        map.centerAndZoom(point, 13); // 初始化地图,设置中心点坐标和地图级别。
        map.enableScrollWheelZoom(true); //启用滚轮放大缩小
        //向地图中添加缩放控件
        var ctrlNav = new window.BMap.NavigationControl({
            anchor: BMAP_ANCHOR_TOP_LEFT,
            type: BMAP_NAVIGATION_CONTROL_LARGE
        });
        map.addControl(ctrlNav);

        //向地图中添加缩略图控件
        var ctrlOve = new window.BMap.OverviewMapControl({
            anchor: BMAP_ANCHOR_BOTTOM_RIGHT,
            isOpen: 1
        });
        map.addControl(ctrlOve);

        //向地图中添加比例尺控件
        var ctrlSca = new window.BMap.ScaleControl({
            anchor: BMAP_ANCHOR_BOTTOM_LEFT
        });
        map.addControl(ctrlSca);

        var point = new Array(); //存放标注点经纬信息的数组
        var marker = new Array(); //存放标注点对象的数组
        var info = new Array(); //存放提示信息窗口对象的数组
         for (var i = 0; i < markerArr.length; i++) {
            var p0 = markerArr[i].lng; //
            var p1 = markerArr[i].lat; //按照原数组的point格式将地图点坐标的经纬度分别提出来
            var myIcon1 = new BMap.Icon("/intelControlManage/img/CCD.png", new BMap.Size(32,32));
            point[i] = new window.BMap.Point(p0, p1); //循环生成新的地图点
            marker[i] = new window.BMap.Marker(point[i],{icon:myIcon1}); //按照地图点坐标生成标记
            map.addOverlay(marker[i]);
            var label = new window.BMap.Label(markerArr[i].name, { offset: new window.BMap.Size(20, -20) });
            label.setStyle({
				 color : "#2c2c2c",
				 fontSize : "12px",
				 paddingLeft :'10px',
				 paddingRight :'10px',
				 border: 'none',
				 height : "20px",
				 lineHeight : "20px",
				 fontFamily:"微软雅黑"
			 });
            marker[i].setLabel(label);
            info[i] = new window.BMap.InfoWindow("<p style=’font-size:12px;line-height:1.8em;’>" + markerArr[i].name + "</br>地址:" + markerArr[i].location  + "</br></p>"); // 创建信息窗口对象
			addInfo(info[i].content,marker[i]);

        }(i);
        map.setViewport(markerArr) //让所有点在视野范围内
        //点击标注显示内容
        function addInfo(txt,marker){
		    let infoWindow = new BMap.InfoWindow(txt); //这里一定要使用let声明,否则显示出来的都是最后一条信息
		    marker.addEventListener("click", function(){
		    	this.openInfoWindow(infoWindow);
		    });
		}
	 }
	 //异地调用百度地图API
	 function map_load() {
        var load = document.createElement('script');
        load.src = "http://api.map.baidu.com/api?v=3.0&ak=你的百度API秘钥&callback=map_init";
        document.body.appendChild(load);
    }
    window.onload = map_load;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值