Leaflet: لا تُرجع getLatLngs المستخدمة مع المضلع المصفوفة

تم إنشاؤها على ٢٣ ديسمبر ٢٠١٦  ·  4تعليقات  ·  مصدر: Leaflet/Leaflet

كيف تتكاثر

إصدار المنشور الذي أستخدمه: 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.

التعليق الأكثر فائدة

قيمة الإرجاع 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 للحلقة الخارجية (فقط).

ال 4 كومينتر

قيمة الإرجاع 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[] ؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات