Versi selebaran yang saya gunakan: 1.0.2
Browser (dengan versi) Saya menggunakan: Chrome & FF
OS/Platform (dengan versi) Saya menggunakan: Windows 10
getLatLngs yang digunakan dengan poligon tidak mengembalikan array, tetapi LatLngs sebagai string. Jika digunakan dengan array polyline dari LatLng dikembalikan. Ini bekerja dengan baik dengan versi 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);
Menggunakan http://playground-leaflet.rhcloud.com/ atau situs serupa jsfiddle lainnya.
jsfiddle ada di sini https://jsfiddle.net/qccxwp64/2/
Nilai kembalian L.Polygon.getLatLngs()
sebenarnya adalah array dari satu elemen.
Ini dilakukan di https://github.com/Leaflet/Leaflet/blob/b1c2e99c1faf5d7a518a3260c22eb920a7512945/src/layer/vector/Polygon.js#L106 sejak https://github.com/Leaflet/Leaflet/pull/3279 , untuk memastikan bahwa ada daftar dering, bukan daftar LatLng
s. Cukup gunakan polygon.getLatLngs()[0]
untuk mendapatkan LatLng
s dari cincin luar (dan satu-satunya).
Ini menjelaskan semuanya, terima kasih banyak!
Bukankah seharusnya dokumentasi resmi http://leafletjs.com/reference-1.0.3.html#polyline -getlatlngs diubah untuk menunjukkan sesuatu selain LatLng[]
?
Komentar yang paling membantu
Nilai kembalian
L.Polygon.getLatLngs()
sebenarnya adalah array dari satu elemen.Ini dilakukan di https://github.com/Leaflet/Leaflet/blob/b1c2e99c1faf5d7a518a3260c22eb920a7512945/src/layer/vector/Polygon.js#L106 sejak https://github.com/Leaflet/Leaflet/pull/3279 , untuk memastikan bahwa ada daftar dering, bukan daftar
LatLng
s. Cukup gunakanpolygon.getLatLngs()[0]
untuk mendapatkanLatLng
s dari cincin luar (dan satu-satunya).