Tengo problemas con los colores de los polígonos. Así que muestro polígonos/áreas en el mapa y configuro cada color según sus propiedades:
map.setPaintProperty("layerName", "fill-color", [ "interpolate", ["linear"], ["get", key], range[0], colors[0], range[1], colors[1], range[2], colors[2], ]);Pero algunos de estos polígonos simplemente no tienen la propiedad "clave" en ellos, por lo tanto, el mapa los lee como indefinidos / nulos y les establece el color predeterminado en negro puro. Necesito cambiar este color negro a otra cosa, pero no puedo resolverlo.
Intenté agregar el color predeterminado después de los rangos, pero no funcionó. También probé si podía hacerlo a través de estilo/css, pero es un lienzo, por lo que parece que esta no es una opción.
map.setPaintProperty("layerName", "fill-color", [ "interpolate", ["linear"], ["get", key], range[0], colors[0], range[1], colors[1], range[2], colors[2], defaultColor ]);Esta solución funcionó para mí:
//This will put color of white for the missing property map.setPaintProperty( 'layerName', 'fill-color', ["case", ["==", ["get", key], null], "#ffffff", [ "interpolate", ["linear"], ["get", key], range[0], colors[0], range[1], colors[1], range[2], colors[2], ]] );Esto también funciona para la opacidad:
map.setPaintProperty( 'layerName', 'fill-opacity', ["case", ["==", ["get", key], null], 0.1, 0.7] );