百度地图api创建行政区域后在区域内部创建添加点标注看不见怎么解决?
问题出现的环境背景及自己尝试过哪些方法
相关代码
var map = new BMap.Map("mapContainer");
map.centerAndZoom('北京市朝阳区', 9);
// 百度地图API功能
map.enableScrollWheelZoom();
getBoundary();
var point = new BMap.Point(116.614759,39.971582);
var marker = new BMap.Marker(point); // 创建标注
map.addOverlay(marker);
//function:在地图上显示行政区域划分
function getBoundary() {
var bdary = new BMap.Boundary();//此类表示一个行政区域的边界。
//返回行政区域的边界。 name: 查询省、直辖市、地级市、或县的名称。 callback:执行查询后,数据返回到客户端的回调函数
bdary.get("北京市朝阳区", function (rs) { //获取行政区域
map.clearOverlays(); //清除地图覆盖物
var count = rs.boundaries.length; //行政区域的点有多少个
if (count === 0) {
alert('未能获取当前输入行政区域');
return;
}
var pointArray = [];
for (var i = 0; i < count; i++) {
var ply = new BMap.Polygon(rs.boundaries[i], {
strokeWeight: 2,
strokeColor: "#ff0000",
fillColor: "yellow",
fillOpacity: 0.1
}); //建立多边形覆盖物
map.addOverlay(ply); //添加覆盖物
pointArray = pointArray.concat(ply.getPath());//返回多边型的点数组
}
//根据提供的地理区域或坐标设置地图视野,调整后的视野会保证包含提供的地理区域或坐标
map.setViewport(pointArray); //调整视野
});
}
将要实现的功能是在这个行政区域内添加多个点,并且点击点出现信息窗口?请问现在创建的点看不见是被覆盖了嘛?该如何解决呢?
您好,这个问题我已经解决了。关键点就是要讲添加标注的方法写在构建行政区域的方法内,如下:
在drawBoundary方法体内添加标注方法: