1.国家地理信息公共服务平台 国家地理信息公共服务平台 天地图
1).注册用户:进入官网,点右上角注册按钮,根据提示注册
2).申请成为天地图开发者: 注册,登录之后,进入首页,往下拉,可以看到下面的模块,点击右 边【成为开发者】按钮。根据提示填写信息,分个人版和企业版。
3).获取服务许可: 申请成为开发者之后,点击【创建新应用】,申请token。
4).使用api: 回到首页,往下拉,在开发资源模块,选择自己需要的api
5).一个例子
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>HELLO WORLD</title>
<script type="text/javascript" src="http://api.tianditu.gov.cn/api?v=3.0&tk=您的密钥"></script>
<script>
var map,zoom = 12;
function onLoad()
{
//初始化地图对象
map=new TMap("mapDiv");
//设置显示地图的中心点和级别
map.centerAndZoom(new TLngLat(116.40969,39.89945),zoom);
}
</script>
</head>
<body onLoad="onLoad()">
<div id="mapDiv" style="position:absolute;width:500px; height:400px"></div>
</body>
</html>
2. leaflet整合天地图
有了leaflet.ChineseTmsProviders.js,可以整合很多地图,用来也很方便。具体用法参照Leaflet调用谷歌地图、天地图、智图地图、高德题图一键搞定_做GIS梦的人-CSDN博客,注意leaflet.ChineseTmsProviders.js里面关于天地图的部分要写成下面的形式。
TianDiTu: {
Normal: {
Map: "https://t{s}.tianditu.gov.cn/vec_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=你的密钥",
Annotion: "https://t{s}.tianditu.gov.cn/cva_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cva&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=你的密钥"
},
Satellite: {
Map: "https://t{s}.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=你的密钥",
Annotion: "https://t{s}.tianditu.gov.cn/cia_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=你的密钥"
},
Terrain: {
Map: "https://t{s}.tianditu.gov.cn/ter_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=ter&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=你的密钥",
Annotion: "https://t{s}.tianditu.gov.cn/cta_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cta&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=你的密钥"
},
Subdomains: ['0', '1', '2', '3', '4', '5', '6', '7']
},
3.整合的过程中遇到问题,加载天地图时总是报403错误。后来发现是因为密钥的域名白名单设置 不对,索性不设置域名白名单,就可以用了