vue项目,百度地图api高亮选取区域,高亮某个地区,行政区域等

vue

效果如下:

 1     var blist = []

2 var districtLoading = 0

3

4

5 var map = new window.BMap.Map("container",{ minZoom:5,maxZoom:20 });// 创建地图实例

6 var point = new window.BMap.Point(89.48,31.57);

7 map.centerAndZoom(point,7.4);//设置中心点坐标和地图级别

8 map.enableScrollWheelZoom(); // 允许滚轮缩放

9 this.zoom = map.getZoom();

10 this.map = map;

11 this.getBoundary();

12

13

14

15

16

17 /*

18 =====获取行政区域边界=====

19 */

20 getBoundary() {

21 this.addDistrict("西藏");

22 },

23 /*

24 =====添加行政区域=====

25 */

26 addDistrict(districtName) {

27 let that = this;

28 //使用计数器来控制加载过程

29 districtLoading++;

30 var bdary = new BMap.Boundary();

31 bdary.get(districtName, function (rs) { //获取行政区域

32 var count = rs.boundaries.length; //行政区域的点有多少个

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

34 blist.push({ points: rs.boundaries[i], name: districtName });

35 };

36 //加载完成区域点后计数器-1

37 districtLoading--;

38 if (districtLoading == 0) {

39 //全加载完成后画端点

40 that.drawBoundary();

41 }

42 });

43 },

44 /*

45 =====点击行政区域事件=====

46 */

47 click(evt) {

48 alert(evt.target.name);

49 },

50 /*

51 =====绘制边界=====

52 */

53 drawBoundary() {

54 let that = this;

55 //包含所有区域的点数组

56 var pointArray = [];

57 //循环添加各闭合区域

58 for (var i = 0; i < blist.length; i++) {

59 //添加多边形层并显示

60 var ply = new BMap.Polygon(blist[i].points, {

61 strokeWeight: 2, //边框宽度

62 trokeColor: "#FFA96E", //边框颜色

63 fillColor: " #DDE4F070" //填充颜色

64 }); //建立多边形覆盖物

65 ply.name = blist[i].name;

66 // ply.addEventListener("click", that.click);

67 this.map.addOverlay(ply);

68

69 //将点增加到视野范围内

70 var path = ply.getPath();

71 pointArray = pointArray.concat(path);

72 }

73

74 //限定显示区域(只显示特定区域,鼠标拖动松开后自动回到显示范围内),需要引用api库

75 // var boundply = new BMap.Polygon(pointArray);

76 // BMapLib.AreaRestriction.setBounds(map, boundply.getBounds());

77 this.map.setViewport(pointArray); //调整视野

78 },

79

以上是 vue项目,百度地图api高亮选取区域,高亮某个地区,行政区域等 的全部内容, 来源链接: utcz.com/z/377526.html

回到顶部