代码拉取完成,页面将自动刷新
需要咋操作呀大佬 或者下载高德地图的黑色主题也行
那种做不了,自定义样式的地图已经不是瓦片了,都是矢量数据,没法下载。不过你要是有黑色主题的瓦片图地址可以发我加上去
我也找不到黑色主题的瓦片地图地址...
昨天看到一片文章 实现下载高德矢量地图的介绍 我看他是用canvas一张张截图
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
噢对了大佬 有个地方可以优化一下
比如说arcgis的地图只有16级 当下载时勾选上16级以上的时候 计算所需大小的时候会卡住 觉得这个地方可以优化一下
这个是在计算下载总体进度,所以慢,你这肯定是选择的地方太大了,我想差不多千万级别的瓦片下载量。不过更主要的原因就是我算法不太行,下载进度是硬算的
不过最主要的就是别要求那么多了,能跑就行,至少我这东西能给大家白嫖。目前下载这一块是不会出差错的,多等等就行
大佬 我用canvas加滤镜 来实现深色地图方案了 但缺点就是不能像高德自定义地图那样 自定义某一个元素的颜色 但也大概够用
有相关方法的文章可以发我看看,说不定我就能找到思路了
这个是用 leaflet 实现的 其他的地图js库估计也类似
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Leaflet Map Demo</title>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.3/dist/leaflet.css"
integrity="sha256-kLaT2GOSpHechhsozzB+flnD+zUyjE2LlfWPgU04xyI="
crossorigin=""/>
<style>
#map {
height: 100vh;
}
</style>
</head>
<body>
<div id="map"></div>
<script src="https://unpkg.com/leaflet@1.9.3/dist/leaflet.js"
integrity="sha256-WBkoXOwTeyKclOHuWtc+i2uENFpDZ9YPdf5Hf+D7ewM="
crossorigin=""></script>
<script>
// 创建 Leaflet 地图实例
var map = L.map('map').setView([22.698186, 114.208534], 13)
var CustomTileLayer = L.TileLayer.extend({
createTile: function(coords, done) {
var tile = document.createElement('img');
tile.onload = function() {
done(null, tile);
};
tile.src = this.getTileUrl(coords);
tile.style.filter = 'grayscale(98%) invert(100%) sepia(20%) hue-rotate(180deg) saturate(1600%) brightness(80%) contrast(90%)';
return tile;
}
});
var customLayer = new CustomTileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png');
customLayer.addTo(map);
</script>
</body>
</html>
地图原色
canvas处理后的效果
可以,地图我是基于openlayers,这功能和leaflet估计一样的方法做,同时后续我用java按照这个思路处理下切片应该能实现,到时候试试
登录 后才可以发表评论