首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Leaflet.Draw矩形的坐标

Leaflet.Draw矩形的坐标
EN

Stack Overflow用户
提问于 2013-03-07 15:52:27
回答 4查看 24.6K关注 0票数 20

有没有可能在mouseClick上得到矩形的坐标,这样我就可以得到矩形的所有角了?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-07 20:09:09

请参阅事件对象(http://leafletjs.com/reference.html#event-objects):

代码语言:javascript
复制
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()

票数 19
EN

Stack Overflow用户

发布于 2014-08-01 22:08:04

Leaflet.draw plugin使用标准Leaflet's L.Rectangle

Leaflet的矩形扩展了Polygon。多边形扩展了Polyline

因此,为了获得Leaflet.raw的矩形的坐标,您可以使用Polyline的方法getLatLngs(),该方法返回路径中的点数组。

示例:

代码语言:javascript
复制
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);
});
票数 11
EN

Stack Overflow用户

发布于 2019-06-18 14:51:24

代码语言:javascript
复制
map.on(L.Draw.Event.CREATED, function (e) {

    var layer = e.layer;
    drawnItems.addLayer(layer);

    console.log(layer.getLatLngs())

});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15265835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档