TypeError: Cannot read property 'latlng' of undefined
TypeError: Cannot read property 'latlng' of undefined
我正在尝试获取鼠标移动时的 x,y 坐标。我在尝试获取它时遇到错误。
TypeError: Cannot read property 'latlng' of undefined at mouseMove
(dashboard:593) at HTMLDivElement.onmousemove (dashboard:442)
<div id="map" onmousemove="mouseMove()"></div>
<script type="text/javascript">
var iMaxZoom = 1;
var map = L.map('map', {
crs: L.CRS.Simple,
minZoom: -5,
maxZoom: 1
});
var bounds = [[0,0], [711,473]];
var image = L.imageOverlay('{!! asset('assets/images/birlikmarket.png') !!}', bounds).addTo(map);
map.fitBounds(bounds);
// mouse move detect x, y coordinates
function mouseMove(e) {
var tileSize = [711,473]
try {
console.log(e.latlng)
}catch(error) {
console.log(error)
}
}
</script>
在Leaflet中发生mouseMove等给定事件时获取鼠标的LatLng
您的方法存在一个问题,即您正在向原生 dom 事件添加事件侦听器。而是将侦听器添加到自定义传单鼠标事件,这将使您可以访问 latLng。
map.on的第一个参数是事件名称。第二个参数是事件发生时调用的回调函数。传递给此回调函数的参数 "e" 是表示传单事件的对象。此事件的属性之一是 latlng。
将以下内容放入您的脚本标签中:
map.on('mousemove', function(e) {
alert("Lat, Lon : " + e.latlng.lat + ", " + e.latlng.lng)
});
"mousemove"指的是Leaflet鼠标事件。 Leaflet 事件包含诸如 LatLng 之类的信息,这些信息不会出现在原生 DOM 事件中,例如 "onmousemove".
此外,您还可以访问鼠标事件的其他属性,例如发生事件的地图上的像素坐标。有关详细信息,请参阅 this。
请记住,您可以轻松地将此事件更改为 "click",并且仅在用户单击地图时提醒经纬度坐标。
查看此工作示例:http://jsfiddle.net/LnzN2/684/
我正在尝试获取鼠标移动时的 x,y 坐标。我在尝试获取它时遇到错误。
TypeError: Cannot read property 'latlng' of undefined at mouseMove (dashboard:593) at HTMLDivElement.onmousemove (dashboard:442)
<div id="map" onmousemove="mouseMove()"></div>
<script type="text/javascript">
var iMaxZoom = 1;
var map = L.map('map', {
crs: L.CRS.Simple,
minZoom: -5,
maxZoom: 1
});
var bounds = [[0,0], [711,473]];
var image = L.imageOverlay('{!! asset('assets/images/birlikmarket.png') !!}', bounds).addTo(map);
map.fitBounds(bounds);
// mouse move detect x, y coordinates
function mouseMove(e) {
var tileSize = [711,473]
try {
console.log(e.latlng)
}catch(error) {
console.log(error)
}
}
</script>
在Leaflet中发生mouseMove等给定事件时获取鼠标的LatLng
您的方法存在一个问题,即您正在向原生 dom 事件添加事件侦听器。而是将侦听器添加到自定义传单鼠标事件,这将使您可以访问 latLng。
map.on的第一个参数是事件名称。第二个参数是事件发生时调用的回调函数。传递给此回调函数的参数 "e" 是表示传单事件的对象。此事件的属性之一是 latlng。
将以下内容放入您的脚本标签中:
map.on('mousemove', function(e) {
alert("Lat, Lon : " + e.latlng.lat + ", " + e.latlng.lng)
});
"mousemove"指的是Leaflet鼠标事件。 Leaflet 事件包含诸如 LatLng 之类的信息,这些信息不会出现在原生 DOM 事件中,例如 "onmousemove".
此外,您还可以访问鼠标事件的其他属性,例如发生事件的地图上的像素坐标。有关详细信息,请参阅 this。
请记住,您可以轻松地将此事件更改为 "click",并且仅在用户单击地图时提醒经纬度坐标。
查看此工作示例:http://jsfiddle.net/LnzN2/684/