实际需求:以某个城市为中心点展示该城市的地图,多余部分不展示,以免用户点击
initData() {
let that = this;
that.map = new BMap.Map("container", { enableMapClick: false });
that.map.centerAndZoom("长沙市", 13);
that.map.enableScrollWheelZoom(true);
// 控制地图显示范围
that.draw();
// 标点
that.markIcon();
// var geocoder = new BMap.Geocoder();
// that.map.addEventListener("click", function (e) {
// geocoder.getLocation(e.point, function (rs) {
// console.log(rs);
// });
// });
},
draw() {
let that = this;
// 画出图边界
var bdary = new BMap.Boundary();
bdary.get("长沙市", function (rs) {
//获取行政区域
// map.clearOverlays(); //清除地图覆盖物
var EN_JW = "180, 90;"; //东北角
var NW_JW = "-180, 90;"; //西北角
var WS_JW = "-180, -90;"; //西南角
var SE_JW = "180, -90;"; //东南角
// 添加环形遮罩层
var ply1 = new BMap.Polygon(
rs.boundaries[0] + SE_JW + SE_JW + WS_JW + NW_JW + EN_JW + SE_JW,
{
strokeColor: "none",
fillColor: "rgb(246,246,246)",
fillOpacity: 1,
strokeOpacity: 0.5,
}
); //建立多边形覆盖物
that.map.addOverlay(ply1);
//给目标行政区划添加边框,其实就是给目标行政区划添加一个没有填充物的遮罩层
var ply = new BMap.Polygon(rs.boundaries[0], {
strokeWeight: 2,
strokeColor: "#00f",
fillColor: "",
});
that.map.addOverlay(ply);
});
},
markIcon() {
let that = this;
var myIcon = new BMap.Icon(
require("../../assets/images/jianguan.png"),
new BMap.Size(25, 27)
);
var marker1 = new BMap.Marker(new BMap.Point(112.967317, 28.244691),{icon:myIcon});
that.map.addOverlay(marker1);
},