1、我在html网页中显示高德地图,高德地图api地址http://webapi.amap.com/maps?v=1.4.15&key=%E4%BD%A0%E7%94%B3%E8%AF%B7%E7%9A%84key&plugin=AMap.MouseTool%EF%BC%8C%E5%A6%82%E4%B8%8B%E5%9B%BE%EF%BC%9A
2、箭头中的图片是我通过gps贴在高德地图上面,然后我在高德地图上面绘制了标记,显示在图片上面。
3、现在我要把这张图片区域内,图片、标记物导出来生成一张图片。
1.通过地图瓦片图层 https://lbs.amap.com/api/javascript-api/reference/layer/
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta charset="utf-8" />
<!-- <script src="Jscript/jquery-1.8.2.min.js"></script> -->
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/html2canvas/1.4.1/html2canvas.js"></script>
<!-- <script src="Html2canvas_JS/base64.js"></script> -->
<!-- <script src="Html2canvas_JS/canvas2image.js"></script>
<script src="Html2canvas_JS/html2canvas.min.js"></script> -->
</head>
<body>
<button id="btn_save">完成</button>
<div id="thecanvas"></div>
<div id="canvasDiv" style="display: none; height: 520px; width: 100%;"></div>
<div class="container form-group" id="container"
style="height: 50px; width: 10%; margin: 10px 15px 30px 15px; position: static !important;"></div>
<link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119.css" />
<script
src="http://webapi.amap.com/maps?v=1.4.5&key=053894472da70792b8d9cc4b979fafed&plugin=AMap.MarkerClusterer,AMap.MouseTool,AMap.Geocoder"></script>
<script type="text/javascript" src="http://webapi.amap.com/demos/js/liteToolbar.js"></script>
<script src="http://webapi.amap.com/ui/1.0/main.js"></script>
<script type="text/javascript">
var googleLayerf = 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'
gettingUrl: 'http://webst{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scl=1&style=7&x={x}&y={y}&z={z}'
});
var roadNetLayerf = new AMap.TileLayer.RoadNet();
var map = new AMap.Map('container',
{
resizeEnable: true,
zoom: 4,
zooms: [3, 21],
layers: [googleLayerf, roadNetLayerf],
center: [103.7822008899, 36.2167828433]
});
function createImg() {
html2canvas(document.getElementById('container'), {
backgroundColor: null
}).then((canvas) => {
let url = canvas.toDataURL('image/png')
console.log(url, '=====================================123')
})
};
$(function () {
$('#btn_save').click(function () {
setTimeout(function () {
createImg();
}, 500);
});
});
</script>
</body>
</html>
可以通过html2canvas 转换
作者:透过地图看世界
链接:https://www.zhihu.com/question/482534171/answer/2085951692
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
高德自定义地图只能使用高德地图自己的API来调用,因为自定义的地图是高德根据自己的数据自主规范来制作的,类似于矢量数据的格式,向外提供服务。所以如果你要想自己下载地图的话,几乎是不推荐的。当然如果你真的有精力来做这件事的话,也是可以做的,你只想解析出高德地图数据渲染方式。然后将高德地图导出256*256的栅格切片就可以了,输出格式为png,然后再进行下载也是可以的,只不过解析的时间可能会比较长一点。最简单最容易的方法就是你根据高德上面的配图符号系统取下来,自己在Armap或者是超图里面再配一遍,这样也是很简单,也是最快的一个方法。如果速度快的话一天也就搞定了。对于配图来说并不算很难,高德提供自定义的地图,主要是提供他的地理数据,因为很多公司没有自己的数据没有那么全,那么完整。