有没有可能在mouseClick上得到矩形的坐标,这样我就可以得到矩形的所有角了?
发布于 2013-03-07 20:09:09
请参阅事件对象(http://leafletjs.com/reference.html#event-objects):
var map = L.map('map').setView([53.902257, 27.561640], 13);
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
var bounds = [[53.912257, 27.581640], [53.902257, 27.561640]];
var rect = L.rectangle(bounds, {color: 'blue', weight: 1}).on('click', function (e) {
// There event is event object
// there e.type === 'click'
// there e.lanlng === L.LatLng on map
// there e.target.getLatLngs() - your rectangle coordinates
// but e.target !== rect
console.info(e);
}).addTo(map);使用e.target.getLatLngs()。
发布于 2014-08-01 22:08:04
Leaflet.draw plugin使用标准Leaflet's L.Rectangle。
Leaflet的矩形扩展了Polygon。多边形扩展了Polyline。
因此,为了获得Leaflet.raw的矩形的坐标,您可以使用Polyline的方法getLatLngs(),该方法返回路径中的点数组。
示例:
var drawnItems = new L.FeatureGroup();
map.addLayer(drawnItems);
map.on('draw:created', function (e) {
var type = e.layerType,
layer = e.layer;
if (type === 'rectangle') {
layer.on('mouseover', function() {
alert(layer.getLatLngs());
});
}
drawnItems.addLayer(layer);
});发布于 2019-06-18 14:51:24
map.on(L.Draw.Event.CREATED, function (e) {
var layer = e.layer;
drawnItems.addLayer(layer);
console.log(layer.getLatLngs())
});https://stackoverflow.com/questions/15265835
复制相似问题