美文网首页地图类js api开发hello world
百度地图行政区划的轮廓界限

百度地图行政区划的轮廓界限

作者: 恬雅过客 | 来源:发表于2018-11-02 10:51 被阅读716次

    最近公司有个需要,就是做个类似于链家的地图找房页面的功能,里面涉及到行政区划的轮廓界限,碰到了一些问题,在此整理一下。(本人用的百度地图)

    百度地图的行政区划

    在地图上显示行政区划的轮廓界限,可以见百度地图的官方demo。(高德地图demo天地图的demo
    大致像下图这种效果:

    行政区划轮廓界限.png

    在使用中,发现有些行政区划的有误或缺失。

    1. 成都市的【高新西区】和【高新区】百度地图取不到边界点。(猜测:这是经济划区,不属于行政区分范围内)
    2. 马鞍山市的【和县】,百度地图取不到边界的点集合。(属于数据缺失)
    3. 马鞍山市的【博望区】,百度地图能取到,但是取出来的点集合,根【当涂县】的边界点完全重合了,核对了高德和腾讯地图,发现确实是数据错误。见下图:


      马鞍山市博望区错误数据.png

    为了解决上面的问题,有2种途径:一种就是后台保存这些有异常的行政区划的边界点经纬度坐标数据,然后前端取到显示就行;另外一种就是,前端直接自己去扒数据补齐。
    由于一些原因,我这里是自己处理的。数据有误或缺失的行政区域,通过其他地图(高德地图,腾讯地图,天地图地图,google地图)来获取边界轮廓的坐标点集合,然后用百度地图绘制出来。(要是都没有,嘿嘿,去那些租房类网站上扒,什么链家,58,赶集,安居客等等)
    目前收集的几个有异常的行政区域数据,见此demo
    效果图:

    马鞍山市博望区-百度地图.png

    另外,由于项目是多个地方都会用,有个小功能点:设置某个城市的地图中心点。比如成都,南充,海口,马鞍山,湘潭,襄阳等等,需要根据城市名获取地图坐标,然后设置地图中心点。百度地图提供了方法myGeo.getPoint("北京市海淀区上地10街", function(point){//todo...}, "北京市");见官方demo),但是注意该方法效果像是异步请求返回数据。

    相关文章

      网友评论

        本文标题:百度地图行政区划的轮廓界限

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