本文主要是介绍紧急!!解决使用SuperMap访问国家天地图需要token的问题—2019年1月16日,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
自从2019年1月1日起,国家天地图网站升级,所以访问天地图服务的网站必须注册开发key才可以调用,目前已经有很多小伙伴反应自己的网站出不来天地图了,在此笔者给大家提供几种解决方法。
第一种:如果你的网站是通过SuperMap iServer9D转发的天地图服务,则可以联系SuperMap公司获取临时包,联系电话为4008900866;
第二种:通过二维leaflet前端直接调用的天地图接口,那么修改方法如下:
L.supermap.tiandituTileLayer({url:"http://t{s}.tianditu.gov.cn/{layer}_{proj}/wmts?tk=your token",layerType:"{layer}"}).addTo(map);
eg:添加天地图影像图层
L.supermap.tiandituTileLayer({url:"http://t0.tianditu.gov.cn/img_c/wmts?tk=15206e1537ae84238c53ab5ee2414ad0",layerType:"img"}).addTo(map);
第三种:通过classic前端调用,目前只能通过wmts图层添加
layer = new SuperMap.Layer.WMTS({name:"img",url:"http://t{s}.tianditu.gov.cn/{layer}_{proj}/wmts?tk=your token",layer:"{layer}",style:"default",matrixSet:"c",format:"tiles",opacity:1,requestEncoding:"kvp"});
eg:添加天地图影像图层
layer = new SuperMap.Layer.WMTS({name:"img",url:"http://t0.tianditu.gov.cn/img_c/wmts?tk=15206e1537ae84238c53ab5ee2414ad0",layer:"img",style:"default",matrixSet:"c",format:"tiles",opacity:1,requestEncoding:"kvp"});
第四种:webgl前端调用天地图,目前改用WebMapTileServiceImageryProvider来进行访问
//影像
viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({url: "http://t0.tianditu.com/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=2ce94f67e58faa24beb7cb8a09780552",layer: "tdtBasicLayer",style: "default",format: "image/jpeg",tileMatrixSetID: "GoogleMapsCompatible",show: false}));
//影像注记
viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({url: "http://t0.tianditu.com/cia_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cia&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default.jpg&tk=2ce94f67e58faa24beb7cb8a09780552",layer: "tdtAnnoLayer",style: "default",format: "image/jpeg",tileMatrixSetID: "GoogleMapsCompatible",show: false
}));
//矢量
viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({url: "http://t0.tianditu.com/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=2ce94f67e58faa24beb7cb8a09780552",layer: "tdtVecBasicLayer",style: "default",format: "image/jpeg",tileMatrixSetID: "GoogleMapsCompatible",show: false}));
//矢量注记
viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({url: "http://t0.tianditu.com/cva_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cva&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default.jpg&tk=2ce94f67e58faa24beb7cb8a09780552",layer: "tdtAnnoLayer",style: "default",format: "image/jpeg",tileMatrixSetID: "GoogleMapsCompatible"
}));
附录:天地图开发key申请方法
①访问http://www.tianditu.gov.cn/打开国家天地图官网;
②找到地图API
③右上角登陆,然后立即注册,填写相关信息后注册成功并且登陆
④创建应用,得到key
这篇关于紧急!!解决使用SuperMap访问国家天地图需要token的问题—2019年1月16日的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!