可以帮忙配置一个天地图的源吗?

地图加加的使用经验、技巧以及问题处置等,和其它喜欢地图加加的朋友一起说说地图加加的酸甜苦辣咸。

可以帮忙配置一个天地图的源吗?

帖子lolarush » 2020-03-01 10:48

哪位大神能帮忙配置天地图 宜兴的图源吗
http://jiangsu.tianditu.gov.cn/yixing/ElecMap/map.html
头像
lolarush
★★
 
帖子: 5
注册: 2016-10-23 5:10

Re: 可以帮忙配置一个天地图的源吗?

帖子Zax » 2020-03-05 3:44

请参考在线文档进行分析: http://duweis.com/support/viewdoc.html? ... &k=054_url


可以使用在线调试工具进行调试和测试,以及生成二维码: https://duweis.com/tool/editor/mapsource-zh.html
1) 将 分析得到的 URL 规则输入下方的 URL 规则
2) 下面的投影模型选择: 经纬度投影(这个是大多数天地图使用的投影,如果无法正确查看,可选择回墨卡托投影)
3) 右上方选项卡切换到 [瓦片分析]
4) 右上地图下拉列表选择一个已知地图,然后预览窗口中平移和放缩地图显示区到你感兴趣的区域
5) 右上地图下拉列表选择 [自定义地图],这时预览窗口显示的就是你当前URL规则对应的预览内容。
6) 如果无法显示,尝试改正 URL 规则中的错误,或者切换到正确的投影模型,直到可以预览区正确显示。
7) 右上方选项卡切换到 [二维码],点击生成一个二维码,然后使用地图加加扫码(个人数据>新增>从二维码导入),即可导入。

注意,天地图一般都是多个图层组成一个地图,例如道路底图 + 道路文字,最终构成整个道路底图。这种情况,每个图层都需要再地图加加中配置一个自定义地图。并且注意他们在地图加加中的层叠次序,不要底图覆盖到上层的图层了(层叠属性可以在这定义地图列表中调整,一般先导入的在下)。为了便于管理,可以将一组图层放入一个文件夹,显示和隐藏时对文件夹长按进行操作。
Zax Zeng
Duwei Technology
头像
Zax
★★★★★
 
帖子: 1203
注册: 2011-07-27 0:54

Re: 可以帮忙配置一个天地图的源吗?

帖子lolarush » 2020-03-05 5:16

Request URL: http://221.228.236.212:26080/arcgis/res ... 221/436962
影像图层,其中18是缩放等级,85221是y(最小85028,最大85780),436962是x(最小436198,最大436966)
URL规则是这样?http://221.228.236.212:26080/arcgis/rest/services/YXYXDT2018/MapServer/tile/$z/$y/$x
只要18级可以这样吗? http://221.228.236.212:26080/arcgis/res ... e/18/$y/$x
1-17级的地址和18级不一样
头像
lolarush
★★
 
帖子: 5
注册: 2016-10-23 5:10

Re: 可以帮忙配置一个天地图的源吗?

帖子Zax » 2020-03-05 8:09

只要18级可以这样吗? http://221.228.236.212:26080/arcgis/res ... e/18/$y/$x
1-17级的地址和18级不一样


不能这样,这样的话,在地图当前缩放等级小于 18级时,会错误的显示内容。

如果只有18级,你仍然需要使用 {$z}, (注意动态参数都有大括号包围)。并且,需要设置这个地图的最大最小缩放等级都是 18。

对于17级以上是另外一个URL,你可以分别做成两个自定义地图,其中 1-17级那个设置最大缩放等级为 17. 并且两个都同时显示就可以了。

当然,如果你熟悉 Javascript 或者 LUA 语法,也可以使用更高级的 Javascript 或 LUA 来配置 URL,这样就可以根据不同等级使用不同的 URL 了。

以 JS 为例,也是在地图生成器页面,左上切换到 Javascript。

然后 function getTileUrl(z, x, y) 的内容写成:

代码: [全选]
function getTileUrl(z, x, y)
{
    if(z == 18) {
       //这里是18级的情况,可以使用任意的JS语法来组装返回的URL,可以使用 {$z},{$x},{$y}, 也可以直接计算最终 URL 返回(如下面1-17规则所示)。
       return "http://...xxxxx......./{$z}/{$x}/{$y}.png";
    } else if(z < 18) {
       //这里是1-17级的情况,
       return "http://............/" + z + "/" + x + "/" + y +".png";
   }
}
 
Javascript
Zax Zeng
Duwei Technology
头像
Zax
★★★★★
 
帖子: 1203
注册: 2011-07-27 0:54

Re: 可以帮忙配置一个天地图的源吗?

帖子Zax » 2020-03-05 8:41

注意: 目前全国版天地图限制了普通用户的数据访问。

需要申请他们的开发者 Key,并且用这个 Key 代替 URL 中的 tk={替换你自己的Key} 的参数。

并且,网页中使用的 tk 和 app 中使用的 tk 不再通用。需要单独申请,也就是地图生成器中调试时,需要使用一个 tk,当调试结束,准备生成二维码时,需要替换为 app 的 tk。

在 地图生成器页面,需要申请类型为 "浏览器端" 的 Key,域名白名单留空(无限制)即可。
对 地图加加中运行,需要申请类型为 "服务器端" 的 Key,IP白名单留空(无限制)即可。
Zax Zeng
Duwei Technology
头像
Zax
★★★★★
 
帖子: 1203
注册: 2011-07-27 0:54

Re: 可以帮忙配置一个天地图的源吗?

帖子lolarush » 2020-03-06 7:40

<?xml version="1.0" encoding="UTF-8"?>
<!-- MOBAC XML Map Source -->
<customMapSource>
<name>my map yx</name>
<minZoom>18</minZoom>
<maxZoom>20</maxZoom>
<url><![CDATA[http://221.228.236.212:26080/arcgis/rest/services/YXYXDT2018/MapServer/tile/{$z-1}/{$y}/{$x}]]></url>
<backgroundColor>#000000</backgroundColor>
<tileType>png</tileType>
</customMapSource>
这个xml在Mobile Atlas Creator 2.1.2里面怎么不能显示,类似的形式在加加里可以显示了
头像
lolarush
★★
 
帖子: 5
注册: 2016-10-23 5:10

Re: 可以帮忙配置一个天地图的源吗?

帖子Zax » 2020-03-09 9:02

不好意思,请咨询 MOBAC 官方获取技术支持,这个不是我们做的,平时也没有怎么用。
Zax Zeng
Duwei Technology
头像
Zax
★★★★★
 
帖子: 1203
注册: 2011-07-27 0:54


回到 地图加加 - 官方论坛