美文网首页
百度地图画乡镇边界

百度地图画乡镇边界

作者: 今天也要努力好吗 | 来源:发表于2020-09-14 14:06 被阅读0次

百度地图只能画区县级及以上的边界,涉及到乡镇的就需要自己用一些工具大致描绘了,第一种比较笨的方式就是可以先画出区县边界,利用百度api的enableEditing方法,描画出乡镇边界,然后写一个方法,在控制台拿到这些边界点。但你对那个乡镇范围不熟悉,这是很困难且不切实际的;


编辑边界.gif
let newPoint1=[
    [
        117.13297086656458,
        39.09685815576284
    ],
    [
        117.13214667756446,
        39.09689463466133
    ],
    [
        117.13204204456459,
        39.098249737446416
    ],
    [
        117.12882495656449,
        39.09832613695057
    ],
    [
        117.12872352456456,
        39.096929635685434
    ],
    [
        117.12793703456457,
        39.09690196903776
    ],
    [
        117.12769195356456,
        39.09689334677083
    ],
    [
        117.12730211456449,
        39.0944707497389
    ]
]
let points = newPoint1.map(ele=>{
     return new BMap.Point(ele[0], ele[1])
})
var polygons = new BMap.Polygon(points, {strokeColor:"blue", strokeWeight:5, strokeOpacity:0.5});   //创建折线
map.addOverlay(polygons);
polygons.enableEditing()

function getpoints() {//可以通过这个方法先拿到区县的边界点,然后编辑区县来获取乡镇的边界点
   var pts = polygons.getPath();
   var temp=[];
   for (var i = 0; i < pts.length; i++) {
         temp.push(pts[i].lng + "," + pts[i].lat);
   }
   console.log(temp.join(';'));   //将编辑过的边界点输出到控制台
}

第二种方法可以利用地图下载器(不同的地图下载器,乡镇边界会有所不同,都只能画个大概),我用到的是bigMap地图下载器,下载乡镇的边界点,不过在百度地图上会有偏移,不过你可以用第一种方法调整,不过我感觉一个点一个点调整有点麻烦,会花费很多时间。我会把下载完乡镇边界点导入到这个网址下(http://geojson.io)编辑乡镇会快很多,可以导入区县的边界作为一个对照,大概的描画出乡镇边界。删除不必要的对照点,保存成json文件即可。

编辑边界2.gif

相关文章

网友评论

      本文标题:百度地图画乡镇边界

      本文链接:https://www.haomeiwen.com/subject/motzektx.html