拖动地图后,无法单击传单形状(圆形,多边形)

时间:2018-08-23 19:37:29

标签: javascript firefox leaflet

我最近升级到Leaflet 1.3.4。我在地图上画了一个圆和一个多边形。我使它们具有交互性,因此,当我将鼠标移到它们上方时,我会得到不同的鼠标指针-一切都很好,表现正常。

然后,我将地图向左拖动一点,然后将鼠标移回我的形状。令我惊讶的是,指针没有像以前一样发生变化。根据鼠标光标,就好像根本没有交互式形状。我在形状上再拖了一下鼠标,突然,我又得到了正确的(交互式)光标。

经过更多实验后,好像在地图上的形状周围创建了一个不可见的“窗口”。拖动地图时,窗口不会移动;只有形状可以。如果形状在该窗口内,则它们仅接收鼠标事件。我可以通过一点一点地移动地图来确认这一点,这些形状将慢慢失去它们的“交互式”表面积。

抱歉,这是一个很长的解释,但这是一个非常奇怪的问题。如果我完全可以澄清这一点,请给我留言,我会尽力而为。

我查看了Stack问题和当前的Leaflet问题,但没有发现与此相关的任何内容。为什么我的地图和形状会以这种方式运行,如何解决?我将不胜感激。

编辑:我正在使用Firefox 60.1版本。

编辑2:我能够使用Firefox 60 和以下代码重现该

var map = new L.Map('leaflet', {
	layers: [
		new L.TileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
			'attribution': 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors'
		})
	],
	center: [0, 0],
	zoom: 0
});

var latlngs = [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]];
var polygon = L.polygon(latlngs, {color: 'red'}).addTo(map);
body {
	margin: 0;
}
html, body, #leaflet {
	height: 100%
}
<!DOCTYPE html>
<html>
	<head>
		<title>Leaflet</title>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<link type="text/css" rel="stylesheet" href="https://unpkg.com/leaflet/dist/leaflet.css" />
		<link type="text/css" rel="stylesheet" href="style.css" />
	</head>
	<body>
		<div id="leaflet"></div>
		<script src="https://unpkg.com/leaflet/dist/leaflet-src.js"></script>
		<script src="script.js"></script>
	</body>
</html>

将地图拖动到左,右,上,下等位置,您将不会在鼠标悬停时更改形状。

0 个答案:

没有答案