إصدار المنشور الذي أستخدمه: 1.0.2
المتصفح (مع الإصدار) الذي أستخدمه: Chrome & FF
نظام التشغيل / النظام الأساسي (مع الإصدار) الذي أستخدمه: Windows 10
لا تُرجع getLatLngs المستخدمة مع المضلع المصفوفة ، ولكن LatLngs كسلسلة. إذا تم استخدامه مع مصفوفة متعددة الخطوط من LatLng يتم إرجاعها. يعمل هذا بشكل جيد مع إصدار 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);
استخدام http://playground-leaflet.rhcloud.com/ أو أي موقع آخر يشبه jsfiddle.
jsfiddle هنا https://jsfiddle.net/qccxwp64/2/
قيمة الإرجاع L.Polygon.getLatLngs()
هي في الواقع مصفوفة من عنصر واحد.
يتم ذلك في https://github.com/Leaflet/Leaflet/blob/b1c2e99c1faf5d7a518a3260c22eb920a7512945/src/layer/vector/Polygon.js#L106 منذ https://github.com/Leaflet/Leaflet/pull/3279 أن هناك قائمة حلقات ، وليست قائمة LatLng
s. ما عليك سوى استخدام polygon.getLatLngs()[0]
للحصول على LatLng
s للحلقة الخارجية (فقط).
هذا يفسر كل شيء ، شكرا جزيلا لك!
ألا يجب تغيير الوثائق الرسمية http://leafletjs.com/reference-1.0.3.html#polyline -getlatlngs للإشارة إلى شيء آخر غير LatLng[]
؟
التعليق الأكثر فائدة
قيمة الإرجاع
L.Polygon.getLatLngs()
هي في الواقع مصفوفة من عنصر واحد.يتم ذلك في https://github.com/Leaflet/Leaflet/blob/b1c2e99c1faf5d7a518a3260c22eb920a7512945/src/layer/vector/Polygon.js#L106 منذ https://github.com/Leaflet/Leaflet/pull/3279 أن هناك قائمة حلقات ، وليست قائمة
LatLng
s. ما عليك سوى استخدامpolygon.getLatLngs()[0]
للحصول علىLatLng
s للحلقة الخارجية (فقط).