百度地图怎么实现只显示某一个城市的地图,周边的省市不显示

实现只显示某一个城市的地图,不只是把这个城市作为中心城市,是要放大缩小都看不见其它城市的信息,指定城市以外的为空白。求大神帮忙

有两种思路:

  第一种,使用BMap.TileLayer实现自定义地图,所有你需要的图块都要从百度下载回来再去掉你不需要部分。这可以完美地实现你的要求,但显然这是不实际的做法,更新地图数据也困难。

  第二种,在第一次缩放的时候可能会看到其它城市。使用BMap.TileLayer实现自定义图层,制作一张你需要显示的地图的中空图(这个可以通过绘制省边界多边形再截图得到),再使用TileCutter.exe(一个百度地图分块工具)进行分块,完成后基本上可以看到效果。

 


注:个人觉得周边的不要不显示,来一个半透明效果会比较好。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-20

// 百度地图API功能

// 创建Map实例

map = new BMap.Map("map", {

enableMapClick: false

});    

// 初始化地图,设置中心点坐标和地图级别

map.centerAndZoom(new BMap.Point(105.403119, 38.028658), 5); 

//禁用地图拖拽

//map.disableDragging();

//开启鼠标滚轮缩放

map.enableScrollWheelZoom(true); 

//禁用滚轮放大缩小

//map.disableScrollWheelZoom();

//设置地图允许的最小级别。取值不得小于地图类型所允许的最小级别

map.setMinZoom(5);

//设置地图允许的最大级别。取值不得大于地图类型所允许的最大级别

map.setMaxZoom(10);

//设置地图样式,样式包括地图底图颜色和地图要素是否展示两部分

map.setMapStyle({

styleJson: [

{

"featureType": "land",

"elementType": "all",

"stylers": {

//"color": "#F4F3EF",

"color": "#000000",

"hue": "#000000",

"lightness": 0,

"visibility": "on"

}

},

{

"featureType": "water",

"elementType": "all",

"stylers": {

"color": "#000000",

"hue": "#000000",

"lightness": 0,

"visibility": "on"

}

},

{

"featureType": "green",

"elementType": "all",

"stylers": {

"visibility": "off"

}

},

{

"featureType": "manmade",

"elementType": "all",

"stylers": {

"visibility": "off"

}

},

{

"featureType": "building",

"elementType": "all",

"stylers": {

"visibility": "off"

}

},

{

"featureType": "road",

"elementType": "all",

"stylers": {

"visibility": "off"

}

},

{

"featureType": "poilabel",

"elementType": "all",

"stylers": {

"visibility": "off"

}

},

{

"featureType": "administrative",

"elementType": "all",

"stylers": {

"visibility": "off"

}

]

});


第2个回答  2017-10-05
缺乏相应的数据。
第3个回答  2014-07-30
这个貌似百度的开发团队还没有开发出这个功能呢,不过确实不错,关注一下,如果有我也正好用的着