gpt4 book ai didi

javascript - Node +Jade+Express+Sqlite : How can I add a MiniMap to a Leaflet Map?

转载 作者:行者123 更新时间:2023-12-03 08:12:18 25 4
gpt4 key购买 nike

我使用 Node+Jade+Express+Sqlite 构建了一个 map 。我正在尝试使用插件添加小 map 。我添加了一个函数来显示它,但没有任何反应。这是我正在使用的代码

HTML//这里是我的html代码,我在加载图层时使用旋转和加载小 map 的函数,但小 map 不显示。

根据Minimap的文档,你不能再次使用同一个图层对象,因为这会混淆两个 map 控件,所以,这就是为什么需要创建一个新的对象。

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="./stylesheets/leaflet-0.7.7/leaflet.css">
<body>
<input value=" + " onclick="showLayer('outdoors','http://{s}.tile.thunderforest.com/outdoors/{z}/{x}/{y}.png')" id="addOutdoors" type="button">
<div id="map" style="width: 100%; height: 800px"></div>

<script src="./javascripts/leaflet-0.7.7/leaflet.js"></script>

<!-- Spin's include files: https://github.com/makinacorpus/Leaflet.Spin -->
<!-- MiniMap's include files: https://github.com/Norkart/Leaflet-MiniMap -->

<script>
var map;
var mbTiles = new L.tileLayer('tiles?z={z}&x={x}&y={y}', {
tms: true,
attribution: 'test',
opacity: 0.7
});
map = new L.Map("map",{
fullscreenControl: true,
zoom: 3,
center: [-33.49702,-70.65462],
layers: [mbTiles]
});


function showLayer(layerName,layerURL){
tileLayer = L.tileLayer(layerURL, {
attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a>',
});
showLoading(layerName,layerURL);
}

function showLoading(layerName, layerURL) { //this function show the spin image while loads the layer
map.spin(true);
setTimeout(function () {
map.addLayer(layerName);
map.spin(false);
}, 3000);
showMiniMap(layerURL);
}

function showMiniMap(layerURL){//this function must show the minimap
var osm2 = new L.TileLayer(layerURL, {minZoom: 0, maxZoom: 13, attribution: osmAttrib });
var miniMap = new L.Control.MiniMap(osm2, { toggleDisplay: true }).addTo(map);
}
</script>
</body>
</html>

有什么想法吗?

最佳答案

除了其他几个错误之外,可能导致迷你 map 失效的错误是缺少 osmAttrib 变量的定义。

其他错误:

  • 缺少头部结束标签。
  • 使用 addLayer 并以字符串作为参数,而不是 Layer 对象。

演示:http://plnkr.co/edit/ipy91EvabCmKAzAQ4yes?p=preview

关于javascript - Node +Jade+Express+Sqlite : How can I add a MiniMap to a Leaflet Map?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34091482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com