Ok, pues ya le pedí una muy larga la pregunta acerca de esto, pero ya que no recibo ninguna nuevas respuestas para un rato, y no confundirse en detalles, voy a mantener este uno simple de la mejor manera que puedo.
Si no me equivoco, setStyle
función de un nombre, característica particular sería como sigue:
var límites = [[54.559322, -5.767822], [56.1210604, -3.021240]]; var rect = L. rectángulo(límites, {color: "#ff7800", peso: 1}).addTo(mapa); rect.setStyle({color: "#4B1BDE"});
...que iba a cambiar el color de naranja a azul. También soy consciente de la resetStyle()
función que se revertirá el estilo de la original.
Esto es como lo del estilo de mi GeoJSON:
var todo = L. geoJson(myfile, { onEachFeature: function () { array_of_layers.addLayer(característica); }, estilo: function () { switch(característica.propiedades.nombre){ caso "bélgica": retorno belgium_style; break; caso "bosnia": retorno bosnia_style; break; caso "dinamarca": retorno denmark_style; break; caso "great_britain": retorno britain_style; break; el caso de "grecia": retorno greece_style; break; el caso de "italia": retorno italy_style; break; el caso de "serbia": retorno serbia_style; break; caso "españa": retorno spain_style; break; } } });
Lo que quiero hacer es hacer un solo país azul y los otros de color gris, más adelante en el código. Es un paso de dos cosa, a la pintura de todos los países de grises y, a continuación, hacer una azul.
La primera cosa es que necesito un bucle que itera sobre cada característica y setStyle()
para todos los países a gris. Funciona si acabo everything.setStyle({color: "#4B1BDE"})
o algo?
La segunda cosa es, (que me da noches de insomnio) ¿cómo puedo seleccionar sólo una característica de un grupo de GeoJSON polígonos a trabajar? Sólo el país que necesito para que la pintura azul.
Si se trataba de una cuestión de pasar el ratón por encima, yo podría colocar un detector de eventos como se hace en el Folleto de tutoriales. Pero, independientemente de la interacción con el usuario, quiero establecer y restablecer el estilo llamando con su nombre, como lo hice con el rectángulo de arriba.
Gracias de antemano.