效果如下

注:高德使用天地图底图获取到的地位坐标系近似为 WGS84
如果入库需要高德坐标系 需要自己转化
同理 使用高德逆地理等高德API ,获取的点位需要转换成 WGS84 进行地图打点 否则看起来或有偏移
下述代码 需要自己提供天地图的key
附上代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<title>批量修改图层</title>
<link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css"/>
<script src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值"></script>
<script src='https://a.amap.com/jsapi_demos/static/citys.js'></script>
<style>
html,
body,
#container {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="container"></div>
<div class="input-card" style="width: auto;">
<div class="input-item">
<button class="btn" onclick="layerGroup.show()">显示图层</button>
</div>
<div class="input-item">
<button class="btn" onclick="layerGroup.hide()">隐藏图层</button>
</div>
<div class="input-item">
<button class="btn" onclick="layerGroup.setOptions({ opacity: Math.random() })">随机修改图层透明度</button>
</div>
<div class="input-item">
<button class="btn" onclick="layerGroup.reload()">重载图层</button>
</div>
</div>
<script src="https://unpkg.com/gcoord/dist/gcoord.js"></script>
<script>
var key = '天地图的key'
var xyzTileLayer = new AMap.TileLayer({
// 天地图底图图块取图地址
getTileUrl: `http://t{0,1,2,3,4,5,6,7}.tianditu.gov.cn/DataServer?T=vec_w&tk=${key}&x=[x]&y=[y]&l=[z]`,
zIndex: 1
})
var wordTileLayer = new AMap.TileLayer({
// 天地图文字标注图块取图地址
getTileUrl: `http://t{0,1,2,3,4,5,6,7}.tianditu.gov.cn/DataServer?T=cva_w&tk=${key}&x=[x]&y=[y]&l=[z]`,
zIndex: 2
})
var map = new AMap.Map('container', {
resizeEnable: true,
center: [120.18870707737302, 30.2356591501443],
zoom: 17,
layers: [
xyzTileLayer,
wordTileLayer
],
});
map.on('click', function(e) {
console.log('e.lnglat.getLng() + ',' + e.lnglat.getLat()',e.lnglat.getLng() + ',' + e.lnglat.getLat());
var tra = gcoord.transform(
[e.lnglat.getLng(), e.lnglat.getLat()], // 经纬度坐标
gcoord.WGS84, // 当前坐标系
gcoord.GCJ02 // 目标坐标系
);
console.log('tra',tra);
});
</script>
</body>
</html>
相关文章: