Daha çox

Mapbox.js ilə GeoJSON İşaretleyicilerini Toplu Düzenle


Mapbox.js istifadə edərək yerli GeoJson faylından bir anda bütün xüsusiyyət nöqtələrini necə tərtib edəcəyimi anlaya bilmirəm. GeoJSON sənədimin təxminən 500 xalı var. GeoJSON sənədindəki hər nöqtədən keçib xassələrini ayrı-ayrılıqda qura bilərdim, amma sənədimdəki nöqtələrin sayına görə bu praktik deyil. Aşağıdakı kodla ballarımı xəritəmdə göstərə bilirəm, amma bu nöqtələrin hamısını müəyyən bir rəng və ya simvolla tərtib etməkdə hansı kodun iştirak etdiyini anlaya bilmirəm.

Budur indiyə qədər olanlar (mapbox api düyməm silindi):

   Vərəqə xəritəsi!      

Budur GeoJSON sənədimin bir parçası:

var rodents1 = {"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-71.1491,42.3419]} , "xassələr": {"FIELD3": "Gəmirici"}},

Bütün nöqtələrin eyni rəngdə olmasını və ya məlumatlarınızdakı bəzi xüsusiyyətlərə görə (heyvan kateqoriyası və s.) İstədiyiniz aydın deyil. İkincisini fərz etsək, xəritənizi bir az fərqli şəkildə qurub istifadə edə bilərsinizpointToLayerhər nöqtə üçün dairə işarəsini qaytarmaq funksiyası:

// məlumatlarınızdakı hər bir kateqoriya üçün bir altıbucaqlı rəng axtarmağa bir obyekt edin var colors = {"Kemirgen": '# ff0000', "Fox": '#adadad', "Coyote": '# 20b2aa'}; // dairə işarəsi üçün standart marker variantları var markerOptions = {radius: 8, fillColor: "# ff7800", // hər bir xüsusiyyət üçün günün altından yenilənəcək: "# 000", çəki: 1, qeyri-şəffaflıq: 1, fillOpacity : 0.8}; // xəritəyə daxil olun var map = L.mapbox.map ('map', 'mapbox.streets') .setView ([42.35, -71.08], 13); // geojson əlavə edin: hər bir xüsusiyyət FIELD3 L.geoJsondakı xüsusiyyətlərə görə tərtib ediləcək (gəmiricilər1, {pointToLayer: function (xüsusiyyət, latlng) {// rənglər siyahınızdakı FIELD3 düyməsini axtararaq fillColor təyin edin markerOptions.fillColor = rənglər [feature.properties [FIELD3]]; return L.circleMarker (latlng, markerOptions);}}). addTo (map);