自从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