小编Sam*_*myC的帖子

Leaflet:在两个底图图层之间混合

我想创建一个Leaflet地图,它能够在不同的地图图层之间切换。这当然没有问题。

但我想添加一个滑块,可以在实际地图播放器前一个地图播放器之间进行混合,以方便地比较这两个地图的内容:滑块 = 右=> 实际地图的 100% 不透明度滑块 = 左=> 实际地图的 0% 不透明度地图,这意味着前地图滑块的 100% 不透明度 = 中间=> 实际地图的 50% 不透明度,这意味着背景中的前地图也透光了 50%


加载地图后,我设法使混合在初始情况下工作。但从地图选择器菜单中选择另一张地图后,我无法使其工作。应该在后台显示的前地图播放器似乎迷失了。

我认为问题在于,当我在 Maplayers 菜单中选择另一个地图时,事件侦听器map.on不仅会调用函数“fct_layerchange” ,而且当我通过“map.addLayer”将前一个 maplayer 添加到背景时也会调用函数“fct_layerchange” (背景地图);”

我不再知道如何解决这些不需要的函数“多重调用”,因为我在选择新底图时依赖于“baselayerchange”事件。当处于事件函数内部时,此事件会再次触发。某些 Leaflet-guru 是否知道如何解决此问题?:-)

<!DOCTYPE html> 
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Blend 2 maps</title>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.3/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.0.3/dist/leaflet.js"></script>
<style>
    html, body, #map {height: 100%;}
</style>
</head>

<body>
<div id="map"></div>
<script>

// 1.) BASEMAPS …
Run Code Online (Sandbox Code Playgroud)

blending opacity leaflet

6
推荐指数
1
解决办法
2405
查看次数

Leaflet v1.03:使 CircleMarker 可拖动?

一些 Leaflet 大师有什么想法,在Leaflet v1.0.3 中使 CircleMarker可拖动的最简单方法是什么?

通过使用“可拖动”选项,可以轻松地为“标准”标记做到这一点。但是 CircleMarker 不存在这样的选项。我通过使用多个事件进行了尝试,但问题是,不是移动标记而是底层地图。

另一种可能性是使用“stopPropagation” -Function(但仅适用于 DOMEvents)。或者使用“removeEventParent” ……如果 CircleMarker 的“父”是地图及其事件?关于文档,还有DOMUtility/Draggable -class。这是我需要的吗?

<!DOCTYPE html>
<html>
	<head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Draggable Markers</title>
		<link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.3/dist/leaflet.css" />
		<script src="https://unpkg.com/leaflet@1.0.3/dist/leaflet.js"></script>
        <style>
            body {padding: 0; margin: 0;}
            html, body, #map {height: 100%;}
      </style>
	</head>
	
	<body>
		<div id="map"></div>
		<script>
            var layerOsm = new L.TileLayer('https://{s}.api.mapbox.com/v4/mapbox.outdoors/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoicHBldGUiLCJhIjoiY2lsdmE2ZmQ2MDA4OHZxbTZpcmx1emtqbSJ9.Two7SPSaIZysqgOTrrLkRg', {
	          subdomains: 'ab', maxZoom: 20, noWrap:true, attribution:'<a href="http://www.mapbox.com">Mapbox</a> | <a href="http://www.openstreetmap.org/copyright/">OpenStreetMap</a>' });
			var map = new L.Map('map').addLayer(layerOsm).setView(new …
Run Code Online (Sandbox Code Playgroud)

geometry move draggable marker leaflet

3
推荐指数
1
解决办法
2551
查看次数

标签 统计

leaflet ×2

blending ×1

draggable ×1

geometry ×1

marker ×1

move ×1

opacity ×1