mysql 百度地图 省市_使用百度地图api展示多个城市轮廓的例子

有几个人问起多个县市轮廓的,分享一下。

多个县市轮廓的效果如这个url所示:

fe02922f0b6b73cb90a8eea12ee978ed.png

注意,百度地图api 1.1才支持这个功能,在1.2中是不支持的。

相关说明可以参考

此类以像素表示一个城市区域。注意:该类只适用于1.1版本。

方法

方法描述

get(name, callback)

name: 查询省、直辖市、地级市、或县的名称

callback:执行查询后,数据返回到客户端的回调函数,数据以回调函数的参数形式返回。 返回结果是一个boundaries数组,数据格式如下: arr[0] = "x1, y1; x2, y2; x3, y3; ..." arr[1] = "x1, y1; x2, y2; x3, y3; ..." arr[2] = "x1, y1; x2, y2; ..."

县市轮廓例子

body{font-size:13px;margin:10px}

#container{width:800px;height:500px;border:1px solid gray}

getBoundary("佛山","blue")

getBoundary("中山","green")

getBoundary("广州","red")

if (typeof console == "undefined"){

window.console = {log: function(){}};

}

var map = new BMap.Map("container");

map.centerAndZoom(new BMap.Point(113.339845,23.128291), 9);

var stdMapCtrl = new BMap.NavigationControl({type: BMAP_NAVIGATION_CONTROL_SMALL})

map.addControl(stdMapCtrl);

map.enableScrollWheelZoom();

map.enableContinuousZoom();

function getBoundary(name,color){

var bdary = new BMap.Boundary();

bdary.get(name, function(rs){

console.log(rs);

var bounds;

var maxNum = -1, maxPly;

var count = rs.boundaries.length;

for(var i = 0; i < count; i++){

var ply = new BMap.Polygon(rs.boundaries[i], {strokeWeight: 1, strokeColor: "#ff0000",FillOpacity:0});

ply.setFillColor(color);

ply.setFillOpacity("0.2");

map.addOverlay(ply);

var arrPts = ply.getPoints();

if(arrPts.length > maxNum){

maxNum = arrPts.length;

maxPly = ply;

}

}

if(maxPly){

map.setViewport(maxPly.getPoints());

}

});

}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部