Version de la brochure que j'utilise : 1.0.2
Navigateur (avec version) que j'utilise : Chrome & FF
OS/Plateforme (avec version) que j'utilise : Windows 10
getLatLngs utilisé avec polygon ne renvoie pas de tableau, mais LatLngs sous forme de chaîne. S'il est utilisé avec un tableau de polylignes de LatLng est renvoyé. Cela a bien fonctionné avec la version 0.7.7.
var latlngs = [
[45.51, -122.68],
[37.77, -122.43],
[34.04, -118.2]
];
var polyline = L.polyline(latlngs, {color: 'red'}).addTo(map);
alert(polyline.getLatLngs().length);
var polygon = L.polygon([
[51.509, -0.08],
[51.503, -0.06],
[51.51, -0.047]
]).addTo(map);
alert(polygon.getLatLngs().length);
En utilisant http://playground-leaflet.rhcloud.com/ ou tout autre site similaire à jsfiddle.
jsfiddle est ici https://jsfiddle.net/qccxwp64/2/
La valeur de retour de L.Polygon.getLatLngs()
est, en fait, un tableau d'un élément.
Cela se fait dans https://github.com/Leaflet/Leaflet/blob/b1c2e99c1faf5d7a518a3260c22eb920a7512945/src/layer/vector/Polygon.js#L106 depuis https://github.com/Leaflet/Leaflet/pull/3279 , pour assurer qu'il existe une liste d'anneaux, pas une liste de LatLng
s. Utilisez simplement polygon.getLatLngs()[0]
pour obtenir les LatLng
s de l'anneau extérieur (et unique).
Cela explique tout, merci beaucoup !
La documentation officielle http://leafletjs.com/reference-1.0.3.html#polyline -getlatlngs ne devrait-elle pas être modifiée pour indiquer autre chose que LatLng[]
?
Commentaire le plus utile
La valeur de retour de
L.Polygon.getLatLngs()
est, en fait, un tableau d'un élément.Cela se fait dans https://github.com/Leaflet/Leaflet/blob/b1c2e99c1faf5d7a518a3260c22eb920a7512945/src/layer/vector/Polygon.js#L106 depuis https://github.com/Leaflet/Leaflet/pull/3279 , pour assurer qu'il existe une liste d'anneaux, pas une liste de
LatLng
s. Utilisez simplementpolygon.getLatLngs()[0]
pour obtenir lesLatLng
s de l'anneau extérieur (et unique).