Vectores moviéndose y haciendo zoom durante un evento multitáctil con OpenLayers y Google Layer

Estoy usando OpenLayers con Google Layer y tengo un comportamiento extraño con los vectores en el mapa.

En dispositivos móviles (Android), al realizar un evento multitoque en el mapa (zoom), los vectores se mueven y hacen zoom cuando el evento touchmove está activo. Pero cuando se activa el evento touchend, los vectores se actualizan en el lugar correcto y con su tamaño real.

Esto no sucede con la capa OpenstreetMap. También probé algunas páginas web que implementan OpenLayers, Google Layer y una capa vectorial en mi dispositivo móvil, y todas tienen el mismo problema. ¿Alguna idea de por qué? Probé este, si alguien quiere reproducir: http://www.macfh.co.uk/Test/Google_with_OpenLayers.html Con un evento multitáctil, el marcador se mueve/acerca, y luego regresa a su lugar inicial.

Ya me preocupé de la especificidad esférica de Mercator, así que creo que ese no es el problema.

Gracias de antemano!

preguntado el 22 de mayo de 12 a las 15:05

1 Respuestas

El posicionamiento de mosaicos para las capas de Google se realiza a través de su API, lo que no permite hacer que el zoom de pellizco funcione de la misma manera que se hace para todas las demás capas: el zoom de pellizco no funciona con las capas de Google.

Si desea que funcione el zoom de pellizco, debe considerar usar capas con acceso directo a mosaicos (OSM, Bing, …). Y tu móvil te lo agradecerá por la disminución del número de scripts a cargar ;).

contestado el 23 de mayo de 12 a las 09:05

Lamentablemente, tengo que usar Google Layer en este proyecto. Si no hay forma de solucionarlo, ¿cómo puedo desactivar el comportamiento de zoom de pellizco predeterminado? El zoom de pellizco está activo, como navegación por gestos de OpenLayers predeterminada (toque doble y toque con dos dedos) - miel

cuando cree su mapa, configure manualmente la lista de controles que desea en lugar de dejar que OpenLayers agregue el predeterminado. (ver openlayers.org/dev/examples/controls.html) - tonio

No lo entiendo, ya uso controles personalizados agregando explícitamente "OpenLayers.Control.TouchNavigation" a los controles cuando creo el mapa, pero esto permite todo el tipo de gesto. Entonces, ¿cómo puedo desactivar el zoom de pellizco pero dejar que el doble toque y el toque con dos dedos hagan el trabajo? - miel

¿Alguna vez resolviste esto? Tengo el mismo problema - Milne

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.