国内 谷歌瓦片服务器 于2021年1月20号暂停服务
地图坐标系介绍:
用天地图替换谷歌 因为谷歌用的是wgs84坐标系(同高德-因为高德底层用的是谷歌的gps),之前获取谷歌 需要把wgs84转为gcj02坐标系,去捞取瓦片
天地图属于国家控制的 卫星地图 坐标系类似wgs84 可以直接用wgs84
1.百度地图——BD-09
2.高德地图和谷歌中国地图——GCJ-02
天地图——CGCS2000
3.1坐标系研究
天地图上不同省份使用的坐标系可能不同,目前来看我经手过的浙江、四川均为标准的国标2000坐标系。但是有些地方为当地坐标系,还需测绘局提供保密插件进行处理。
国标2000坐标系与WGS84坐标系偏差不大,因为CGCS2000坐标系与WGS84坐标系的原点、尺度、定向及定向演变的定义都是相同的,参考椭球的参数略有不同而已。相同的坐标点,在CGCS2000与WGS84下,经度是相同的,只在纬度上存有0.11mm上下的区别,可以忽略掉。
3.2 本地坐标系矢量数据叠加到天地图上
a.将本地数转换为WGS84或者国标2000坐标系数据。
b.叠加到天地图上。
实际应用:
1.导入高德api
function mapInit() {
var url = 'https://webapi.amap.com/maps?v=1.4.13&key=dbe************0d&callback=onLoad';
var jsapi = document.createElement('script');
jsapi.charset = 'utf-8';
jsapi.src = url;
document.head.appendChild(jsapi);
}
2.最重要的概念,map对象/地图容器 具体的容器配置参数:https://developer.amap.com/api/javascript-api/reference/map
map = new AMap.Map('map-containtner', {
resizeEnable: true, //是否监控地图容器尺寸变化
expandZoomRange:true,
zoom:16, //初始化地图层级
zooms:[4,20],
center: mapCenter,//中心点坐标
// layers:[roadNet],
});
3.常用的配置:
map.setFeatures(['bg', 'point', 'building'])//设置地图上显示的元素种类,支持bg(地图背景)、point(兴趣点)、road(道路)、building(建筑物)
map.clearInfoWindow()//清除地图上的信息窗体
以控制 road显示为例: 看下面第二张图,路线图就没了
4.创建天地图 对象
// googleLayer = new AMap.TileLayer({
// getTileUrl:
// "http://mt{1,2,3,0}.google.cn/vt/lyrs=s&hl=zh-CN&gl=cn&x=[x]&y=[y]&z=[z]&s=Galile"
// });
tianditu_layer_wms = new AMap.TileLayer.WMTS({
url: 'http://t0.tianditu.gov.cn/img_w/wmts',
blend: true,
tileSize: 256,
params: {
Layer: 'img',
Version: '1.0.0',
Format: 'tiles',
TileMatrixSet: 'w',
tk:天地图官网申请的key,
STYLE:"default",
}
});
5.setmap(map) show() hide() 控制显示渲染即可,再绑定一个事件,ok