Více

Dávkové úpravy značek GeoJSON pomocí Mapbox.js

Dávkové úpravy značek GeoJSON pomocí Mapbox.js


Nemohu přijít na to, jak stylovat všechny body funkcí z místního souboru GeoJson najednou pomocí Mapbox.js. Můj soubor GeoJSON má zhruba 500 bodů. Mohl jsem projít každý bod v souboru GeoJSON a nastavit jejich vlastnosti jednotlivě, ale to je nepraktické kvůli počtu bodů v mém souboru. Jsem schopen zobrazit své body na mé mapě s níže uvedeným kódem, ale nemohu přijít na to, jaký kód je zapojen do stylingu všech těchto bodů určitou barvou nebo symbolem.

Tady je to, co zatím mám (můj klíč API pro Mapbox byl odstraněn):

   Letáková mapa!      

A tady je úryvek z mého souboru GeoJSON:

var rodents1 = {"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "Coordinates": [-71.1491,42.3419]} , "properties": {"FIELD3": "hlodavec"}},

Není jasné, zda chcete, aby všechny body byly stejné barvy nebo stylizované podle nějaké vlastnosti ve vašich datech (kategorie zvířat atd.). Za předpokladu, že použijete druhou možnost, můžete mapu nastavit trochu jinak a použítpointToLayerfunkce pro vrácení značky kruhu pro každý bod:

// vytvoří objekt pro vyhledání hexadecimální barvy pro každou kategorii ve vašich datech var colors = {"Rodent": '# ff0000', "Fox": '#adadad', "Coyote": '# 20b2aa'}; // výchozí možnosti značky pro značku kruhu var markerOptions = {radius: 8, fillColor: "# ff7800", // bude aktualizován pro každý prvek, pod barvou: "# 000", váha: 1, opacita: 1, fillOpacity : 0,8}; // inicializace mapy var map = L.mapbox.map ('map', 'mapbox.streets') .setView ([42.35, -71.08], 13); // přidejte geojson: každý prvek bude stylizovaný podle vlastností v FIELD3 L.geoJson (hlodavci1, {pointToLayer: function (feature, latlng) {// set fillColor vyhledáním klíče FIELD3 ve vašem seznamu barev markerOptions.fillColor = barvy [feature.properties [FIELD3]]; return L.circleMarker (latlng, markerOptions);}}). addTo (mapa);