Unten ist mein Code, um eine Basiskarte anzuzeigen, Mittelkoordinaten und Zoomstufe einzustellen, um Ghana im View-Port zu zeigen und auch die Ghana Map für NDVI Property von Mein Quelllayer (mappbox hosted tileset) ghanaNDVILayer.Berechnen Sie Zentrumskoordinaten, Zoom und Stopps der Ebene dynamisch
mapID='myMapID';
mapboxgl.accessToken = 'accessToken';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v9',
center: [-1.41, 6.32],
zoom: 5
});
map.on('load', function() {
map.addLayer({
'id': 'main',
'type': 'fill',
'layout': {},
'paint': {
'fill-color': {
property: 'NDVI',
stops: [
[0, '#F2F12D'],
[1, '#EED322'],
[2, '#E6B71E'],
[3, '#DA9C20'],
[4, '#CA8323'],
[5, '#B86B25'],
[6, '#A25626'],
[7, '#8B4225'],
[8, '#723122']
]
},
'fill-opacity': 0.8
},
'source': {
'type': 'vector',
'url': 'mapbox://' + mapID
},
"source-layer": "ghanaNDVILayer",
});
});
Nun, wenn Sie in obigen Code sehe ich die hart codiert haben Zentrum koordiniert, Zoomstufe und stoppt Array, die für diese Ghana NDVI Trends Beispiel typisch ist.
Jetzt ist dieser Ansatz in Ordnung, wenn ich mit nur einer Datenquelle (in diesem Fall Ghana Datenquelle) zu tun habe, aber ich kann diese Werte nicht fest codieren, da sich meine Datenquelle ändern könnte und jede Region der Welt sein könnte und die Eigenschaft könnte auch alles andere als NDVI sein.
Ich verwende Mapbox gehostete Tilesets als Datenquelle, aber ich habe auch die ursprüngliche geoJson Datenquelle auf meinem Server.
Gibt es in Mapbox eine Möglichkeit, die Mitte, den Zoom und die Stopps dynamisch zu berechnen, abhängig von der Quelle, die wir laden? Der andere Ansatz, den ich dachte, besteht darin, die Tileset-Quell-ID an meinen Server zu übergeben und das ursprüngliche geoJSON zu lokalisieren und die Mitte zu berechnen, zu zoomen und auf dem Server anzuhalten und diese Werte dann an meinen Client zu übergeben und dann die Karte zu rendern in den js.
Lassen Sie mich wissen, was der beste Weg ist, um diese Werte dynamisch zu berechnen.
Hmm Jetzt, da ich die Frage noch einmal durchgelesen habe, habe ich den Punkt verpasst - es geht um Quellen und nicht um Stile. Hoppla. –
Wissen Sie also, wie Sie das am besten erreichen können? Ich muss mit mindestens 100 verschiedenen Karten verschiedener Regionen umgehen, wie programmiere ich Stopps, zentriere und zoome? –