1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 地图-高德 天地图 WMTS 服务及规则

地图-高德 天地图 WMTS 服务及规则

时间:2024-06-05 15:34:44

相关推荐

地图-高德 天地图 WMTS 服务及规则

项目里原本用到高德地图的卫星图,但是放大到最小时,有些区域会显示“该区域没有卫星图”,这肯定不行,客户那里也说不过去,最后发现天地图的卫星图是可以的,但是整个项目已经写完了,用到地图的地方也多,换地图重写不现实,时间不够了,最后研究了一下,发现高德地图可以使用第三方图层,而天地图正好提供这种服务,所以,一通操作完美解决。

因为两个地图提供的示例是没办法正正好成功的,所以,记录一下写法,下次可以少走弯路


一.地图服务API

高德地图

第三方标准图层

AMap.TileLayer.WMTS

天地图

地图服务


二、使用步骤

1.使用高德地图

2.申请天地图地图服务Key

3.示例:

高德示例

var wms = new AMap.TileLayer.WMTS({url: '/arcgis/rest/services/Demographics/USA_Population_Density/MapServer/WMTS/', blend:false,tileSize:256,params:{'Layer': '0',Version:'1.0.0',Format: 'image/png'}})wms.setMap(map);

天地图示例

(1)元数据查询http://t0./img_w/wmts?request=GetCapabilities&service=wmts(2)地图瓦片获取http://t0./img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={x}&TILECOL={y}&tk=您的密钥

最终使用示例

var wms = new AMap.TileLayer.WMTS({url: 'http://t4./img_w/wmts',blend: false,tileSize: 256,params: {Layer: 'img',Version: '1.0.0',Format: 'tiles',// TileMatrixSet: 'EPSG:3857',TileMatrixSet: 'w',STYLE:'default',tk:'33ee301e47afe9f06628867abad6bc51'}});wms.setMap(map);


三、示例解析

1.tk

成功调用服务的关键就在于 params 的参数设置,我用到的是 影像底图(球面墨卡托投影)http://t0./img_w/wmts?tk=您的密钥按照这个示例,很容易在调用时将 tk 写在URL后面,这样是不行的必须将tk 作为 params 的参数来调用才行

2.params

关于params,高德地图api并不是很详细,但是这个很重要服务调用成功后,地图瓦片真实路径是这样的http://t4./img_w/wmts?Layer=img&Version=1.0.0&Format=tiles&TileMatrixSet=w&STYLE=default&tk=33ee301e47afe9f06628867abad6bc51&Request=GetTile&Service=WMTS&TileMatrix=10&TileRow=404&TileCol=838与地图瓦片获取的示例相对比,得出params的其他几个参数设置说实话,我是知道了结果倒推出过程,api不清楚,真是用起来头大


总结

天地图作为第三方图层被高德使用,这个问题解决了,又有了新问题,版权图标怎么办,左下角出现的还是高德的版权标示,天地图没出现,这种情况下,需要要特意加上吗?不加的话,会不会有什么纠纷?搞不懂!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。