Je suis en train de tracer LineStrings dans Mapbox.Ainsi, je suis en train de mettre à jour la couleur des lignes lorsque la propriété est modifiée.La mise à jour de ces propriétés uniquement est modifiée
function update_the_map(){
$.ajax({
url:"http://dataurl",
contentType : "application/json; charset=utf-8",
type: "GET",
dataformat:"JSON",
async : false,
success: function(data){
for (i = 0; i <lines.features.length; i++) {
lines['features'][i]['properties']['points']=data[i].points;
var style_update =getColor(lines['features'][i]['properties']['points']);
geojson.setFeatureStyle(lines['features'][i]['properties']['id'], style_update);
}
setTimeout(update_the_map, 10000);
console.log("updated");
},
error:function(){}
});
}
Mais cela change toute la couleur des lignes et non les points sont plus importants que 5.Because ma get fonction de la couleur est comme
function getColor(d) {
if(d==10 || d==9 || d==8 || d==7 || d==6){
return '#ff0000';
}
else {
return '#00a1ff';
}
}
Il retourne rouge si les points> 5 sinon il retourne bleu.Mais ceci renvoie le bleu pour tout et la couleur de toutes les lignes est changée. L'aide est appréciée. C'est comment je crée la couche.
geojson = L.vectorGrid.slicer(lines, {
vectorTileLayerStyles: {
sliced: style},
maxZoom: 24, // max zoom to preserve detail on
interactive: true,
getFeatureId: function(f) {
return f.properties.id;
}
}).on('mouseover', mouseover_function).addTo(map);
Mes lignes est une variable comme suit:
var lines= {
"type":"FeatureCollection","features": [{"type": "Feature","geometry":{"type":"LineString",
"coordinates":[[ 101.942139,4.252606],[101.766357,3.134346]]},
"properties": {"id":"01","points":10}},....
]};
Lorsque vous créez la couche, quelle est la valeur de 'links' et' style' ?? – IvanSanchez
Lorsque je crée la couche, tous les points sont 10. Donc chaque ligne est rouge. Au bout de 10 secondes, ils changent, ce qui a> 5 devient rouge puis <5 devient bleu. Mais maintenant, j'ai débogué la couleur que j'ai à 'var style_update = getColor (lignes ['features'] [i] ['propriétés'] ['points']);' C'est en fonction des points. Donc, je pense que je me trompe quelque part en définissant le style de la ligne. – Ricky