百度地图自定义多个位置点,自定义图标图片,修改Marker图标

效果如图:


要代码:

function addMapOverlay(){
var markers = [
{imageOffset: {width:-46,height:-21},position:{lat:31.010706,lng:103.623789}},
{imageOffset: {width:-46,height:-21},position:{lat:30.986685,lng:103.613728}},
{imageOffset: {width:-46,height:-21},position:{lat:30.985695,lng:103.583258}}
];
for(var index = 0; index < markers.length; index++ ){
var point = new BMap.Point(markers[index].position.lng,markers[index].position.lat);
var marker = new BMap.Marker(point,{icon:new BMap.Icon("http://api.map.baidu.com/lbsapi/createmap/images/icon.png",new BMap.Size(20,25),{
imageOffset: new BMap.Size(markers[index].imageOffset.width,markers[index].imageOffset.height)
})});
map.addOverlay(marker);
};
}

相关代码讲解:

imageOffset:设置图片位置的偏移

position:设置点的位置

BMap.Icon:设置图片的路径,这里可以调用你自己设计的图片,但尺寸大小需要和BMap.Size设置一直

BMap.Size:图片宽高设置,注这里的图片不能100%,所以用多大的就这是多大的!

完整代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!--引用百度地图API-->
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=这里需要自己去百度申请ak"></script>
</head>
<body>
<!--百度地图容器-->
<div id="map" style="height: 500px;"></div>
</body>
<script>
initMap()
//创建和初始化地图函数:
function initMap(){
createMap();//创建地图
addMapOverlay()//调用循环插入不同点数据
}
function createMap(){
map = new BMap.Map("map");
map.centerAndZoom(new BMap.Point(103.632988,30.995601),13);
}
function addMapOverlay(){
var markers = [
{imageOffset: {width:-46,height:-21},position:{lat:31.010706,lng:103.623789}},
{imageOffset: {width:-46,height:-21},position:{lat:30.986685,lng:103.613728}},
{imageOffset: {width:-46,height:-21},position:{lat:30.985695,lng:103.583258}}
];
for(var index = 0; index < markers.length; index++ ){
var point = new BMap.Point(markers[index].position.lng,markers[index].position.lat);
var marker = new BMap.Marker(point,{icon:new BMap.Icon("http://api.map.baidu.com/lbsapi/createmap/images/icon.png",new BMap.Size(20,25),{
imageOffset: new BMap.Size(markers[index].imageOffset.width,markers[index].imageOffset.height)
})});
map.addOverlay(marker);
};
}
</script>
</html>

结语:代码为个人实践所得,如存在差异或者不对之处,敬请谅解,欢迎联系博主修改错误,多谢!

六月初字帖坊小程序 你想要的字帖模板及工具,这里都有!