วิธีเพิ่มการระบุแหล่งที่มาบนเลเยอร์ GeoJSON จากแผ่นพับ?


10

ฉันต้องใช้ GeoJSON Layer บนแผนที่ Leaflet ของฉัน นี่คือตัวอย่างรหัสของฉัน:

function onEachFeature(feature, layer) {
    if (feature.properties && feature.properties.popupContent) {
        layer.bindPopup(feature.properties.popupContent);
    }
}

myGeoJsonLayer = L.geoJson(data, {
    pointToLayer: function (feature, latlng) {
        return L.circleMarker(latlng, geojsonMarkerOptions);
    },
    onEachFeature: onEachFeature
});
myGeoJsonLayer.addTo(map);                         
TOC.addOverlay(myGeoJsonLayer, "My GeoJSON Layer");

ทั้งหมดใช้งานได้

ตอนนี้ฉันต้องการเพิ่มที่มาในเลเยอร์ของฉัน แต่อย่างไร


ฉันได้รับคำตอบ [ที่นี่] [1] ฉันลองแล้วมันใช้งานได้ดี [1]: stackoverflow.com/questions/25664516/…
Cesare

คุณช่วยกรุณาทำเครื่องหมายคำถามเป็นคำตอบได้ไหม? ( gis.stackexchange.com/help/self-answer )
Thomas B

คำตอบ:


4

คัดลอกมาจากคำตอบของ Stack Overflow ที่นี่: /programming/25664516/leaflet-how-to-add-an-attribution-on-a-geojson-layer

อ้างถึง:

โดยค่าเริ่มต้นสิ่งนี้ไม่ได้รับการสนับสนุน แต่คุณสามารถใช้วิธี getAttribution () ในตัวอย่างได้เช่น: http://bl.ocks.org/tmcw/05c7d1164a9e62e67e6d

ตัวอย่างรหัส js ที่ให้ไว้คือ:

<script>
L.mapbox.accessToken = 'pk.eyJ1IjoidG1jdyIsImEiOiJIZmRUQjRBIn0.lRARalfaGHnPdRcc-7QZYQ';
var map = L.mapbox.map('map', 'examples.map-i86nkdio').setView([40, -74.50], 9);
var gj = L.geoJson();
gj.getAttribution = function() { return 'foo bar'; };
gj.addTo(map);
</script>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.