Generar mosaicos para superposiciones de google maps

8

Estoy tratando de mostrar alguna información en Google Maps que podría ser en forma de superposiciones de círculo translúcido. El problema es que algunos círculos se superponen, lo que resulta en una mayor opacidad y mezcla de colores si los círculos son de diferente color. Busqué mucho y llegué a la conclusión de que no hay forma posible de evitar la mezcla de colores.

La solución alternativa que me recomendaron fue generar mosaicos png en mi servidor y mostrarlos o decidir el color de cada píxel en el lado del servidor y usar el lienzo HTML5 y renderizar cada píxel. Busqué mucho pero no pude encontrar ninguna manera de hacerlo. Sería muy útil si alguien pudiera señalarme en la dirección correcta.

Estoy reformulando mi pregunta a continuación para que sea más clara y concisa

Tengo que mostrar círculos en un mapa. El radio y el color de estos círculos representan su área de influencia y tipo de influencia. Estos círculos son translúcidos, pero la superposición debería dar como resultado que solo se vea el superior sin ninguna mezcla. ¿Cómo genero mosaicos para esta información?

Probablemente no estoy claro, así que estoy agregando más detalles.

Comprueba esto jsFiddle http://jsfiddle.net/Dv4UT/ . Hay dos círculos superpuestos verde (zIndex: 10) y rojo (zIndex: 11) con opacidad .5. La parte superpuesta es una mezcla de rojo y verde mientras quiero la parte superpuesta debe ser del color superior con la misma opacidad, es decir: rojo. Si esto es posible usando superposiciones de mapas, entonces sería genial. De lo contrario, creo que es posible usar el lienzo HTML5, pero eso no funcionará en una versión anterior de IE. finalmente tendría que recurrir a generar mosaicos en el lado del servidor y usarlos como superposiciones. No tengo idea de generar mosaicos y sería muy útil, si alguien pudiera señalarme en la dirección correcta. Adjunto un captura de pantalla del mapa de viaje de Trulia, compruebe que los círculos superiores están sobrescribiendo los círculos inferiores. Necesito un tipo similar de visualización.

imagen de ejemplo

Arun Chaudhary
fuente
¿Has intentado usar CartoDb? www.cartodb.com
EZMapdesign
Lo comprobé. No resolverá mi problema. No puedo encontrar ninguna manera de generar mosaicos.
arun chaudhary
¿Entonces los círculos con opacidad siempre mezclarán el color? Puede controlar la opacidad de cada círculo - jsfiddle.net/8GaZ5/1 gmaps v3
Mapperz
Gracias Mappers por su tiempo. Creo que no estoy claro, así que he agregado más detalles a la pregunta. Verifique este jsfiddle jsfiddle.net/Dv4UT . La parte superpuesta es marrón y estoy tratando de evitar exactamente eso. Quiero que la parte superpuesta sea del color del círculo en la parte superior, es decir: rojo en este caso.
arun chaudhary

Respuestas:

2

cree su superposición fuera de línea (pero dinámicamente) utilizando el lenguaje de programación que elija. será un poco complejo pero el pseudo código básico sería:

browser javascript send request url for overlay
acquire gis bounds for tile server side
gather all points and sort by their relevance
create image(transparent)
for each point: (least relevant first)
   draw new circle (will 'overwrite' any overlap areas)
stream image to browser
display image as overlay

dependiendo de qué tan grande sea su área, puede crear un ráster fuera de línea y luego servirlo con Mapserver u otro programa gratuito de entrega de mapas. crear su propio ráster asegurará que la pantalla sea como la desea.

usuario1269942
fuente
1

Yo haría lo siguiente:

  1. Mantenga la opacidad de los círculos realmente baja (para que el problema de la mezcla no se convierta en la corriente principal)
  2. Al pasar el mouse, cambie la opacidad para superar la del círculo de intersección

De esta manera, sería capaz de mostrar datos sin ninguna interferencia inducida por una combinación de colores importante y resaltar un círculo particular a medida que el usuario se desplaza sobre él.

ujjwalesri
fuente
Eso no funcionará. En primer lugar, en algunos lugares pueden cruzarse hasta 10 círculos. En segundo lugar, los círculos pueden ser de diferentes colores, es decir: círculo verde superpuesto círculo rojo. En tales casos, obtendría una mezcla de colores superpuestos, mientras que solo debería obtener el color superior El mouse no resuelve nada porque la fusión se produce solo en la parte superpuesta en lugar de en todo el círculo.
arun chaudhary