<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=自己的AK"></script>
创建地图
var map = new BMap.Map("allmap");//创建地图的DOM容器
var pointTheme = new BMap.Point(113.620196, 40.045125);//中心点坐标
map.centerAndZoom(new BMap.Point(113.620196, 40.045125), 7);//中心点坐标
map.enableScrollWheelZoom();
function addMarker1(point, index) { // 创建图标对象
console.log(point)
var myIcon = new BMap.Icon("/indexdata/images/markers.png", new BMap.Size(23, 25), {
// 指定定位位置。
// 当标注显示在地图上时,其所指向的地理位置距离图标左上
// 角各偏移10像素和25像素。您可以看到在本例中该位置即是
// 图标中央下端的尖角位置。
anchor: new BMap.Size(10, 25),
// 设置图片偏移。
// 当您需要从一幅较大的图片中截取某部分作为标注图标时,您
// 需要指定大图的偏移位置,此做法与css sprites技术类似。
imageOffset: new BMap.Size(0, 0 - index * 25) // 设置图片偏移
});
map.setMinZoom(8.5);
map.setMaxZoom(18);
// 创建标注对象并添加到地图
var marker = new BMap.Marker(point, { icon: myIcon });
map.addOverlay(marker);
}
随机添加地图标注
// 随机向地图添加3个标注
for (var i = 0; i < 3; i++) {
var point = [
{
name: "张三",
address: "大同市",
tentle: 5,
lng: 107.649822,
lat: 35.715762,
},
{
name: "李四",
address: "庆城镇",
tentle: 7,
lng: 107.909807,
lat: 35.987334,
},
{
name: "赵伟",
address: "樊家川",
tentle: 7,
lng: 107.473625,
lat: 36.584233,
},
]
addMarker1(point, i);
}
获取行政区边界划函数,可单独运行该函数,不需创建上面的方法
function getBoundary() {
var bdary = new BMap.Boundary();
bdary.get(name, function (rs) { //获取行政区域,name为地区名称如'北京市'
map.clearOverlays(); //清除地图覆盖物
var EN_JW = "180, 90;"; //东北角
var NW_JW = "-180, 90;"; //西北角
var WS_JW = "-180, -90;"; //西南角
var SE_JW = "180, -90;"; //东南角
//4.添加环形遮罩层
var ply1 = new BMap.Polygon(rs.boundaries[0] + SE_JW + SE_JW + WS_JW + NW_JW + EN_JW + SE_JW, { strokeColor: "none", fillColor: "rgba(246,246,246,0.7)", fillOpacity: 1, strokeOpacity: 0.5 }); //建立多边形覆盖物
map.addOverlay(ply1);
//5. 给目标行政区划添加边框,其实就是给目标行政区划添加一个没有填充物的遮罩层
var ply = new BMap.Polygon(rs.boundaries[0], { strokeWeight: 2, strokeColor: "#ff0000", fillColor: "" });
map.addOverlay(ply);
map.setViewport(ply.getPath()); //调整视野
//addlabel();
});
}
getBoundary();