实际项目中我们经常会遇到这样一种场景:地图底图可能是互联网地图(百度、高德、天地图)等等,同时我们自己又有某个区域单独的一套POI数据,我们需要将互联网地图中这个区域的原有POI数据进行遮罩然后只显示我们自己的POI数据。
创新互联建站主要从事成都网站设计、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务巴东,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
针对这样的需求,我们首先想到的是能否我们只使用不包含注记的底图瓦片,然后再叠加上我们的POI数据。事实上,实际需求中还需要考虑一点,我们只有部分区域的POI数据,却没有其他区域的POI数据。
所以这个需求真正的核心是:除这个不规则多边形的指定区域外,地图均是互联网地图加互联网注记,而这个核心区域内需要是互联网地图加上自己的注记。
a.整个地图范围中,仍然将互联网底图和互联网注记图作为底图叠加。
b.再次叠加上该区域的互联网底图,可以视作遮罩将该范围中的注记图层屏蔽。
c.将纠偏后的自定义POI图层切图,作为最上层图层叠加至地图中。
地图图层顺序如下所示:
a.瓦片拼接技术:需要将下载好的指定区域瓦片拼接成一个整体,然后将该区域PS出来。
b.图片分割技术:需要将PS后的区域图按照瓦片大小分割。
c.瓦片重命名:需要将分割后的瓦片重新按照对应行列号赋值。
具体代码实现过程由我的好×××涂涂涂不苦实现,感谢,继续努力。
利用自开发的瓦片下载工具将指定区域的互联网底图下载下来,其原理可以参考我之前的博客:WebGIS中通过行列号来换算出多种瓦片的URL 之在线地图(http://www.cnblogs.com/naaoveGIS/p/3905523.html)。
按照行列号将同一级别上的瓦片拼接成一整张图。
这里要注意,每个级别的图均需要分别拼接成一个对应级别的整图,PS也需要对每个级别的整图进行抠图。
a.读取原始拼接瓦片文件夹,依次获取到原始瓦片的行列号名称。
b.将抠图后的整图按照瓦片规定大小进行分割。
c.将分割出的图赋予原始瓦片行列号的名称。