2012-09-20 44 views
28

Para los mapas chinos en iOS 6, parece que MapKit selecciona el proveedor de mapas según su ubicación. Si se encuentra en China, utilizará los mapas de AutoNavi, y de lo contrario utilizará los mapas de Apple predeterminados. Para complicar las cosas, los mapas de AutoNavi parecen transformarse de la misma manera que los mapas de Google en iOS 5, mientras que los mapas de Apple predeterminados no se transforman.¿Cómo lidiar con mapas chinos inconsistentes en iOS 6?

Por transformado Estoy hablando del hecho de que all maps in China are transformed, aunque esto no es verdad. Por el contrario, algunos mapas en China se transforman, mientras que otros no.

Esta transformación hace que sea difícil colocar anotaciones correctamente en el mapa ya que el mapa generalmente se desplaza unos 500 metros. Como no es posible invertir la transformación del mapa real, la solución es aplicar el mismo desplazamiento a las anotaciones.

There exists non-trivial ways to inverse the transform, at least for limited areas. El problema en iOS 6 es saber si el mapa se ha transformado o no para poder compensar las anotaciones de forma adecuada. En iOS 5, este problema no existía porque los mapas transformados se usaban de forma coherente.

Los siguientes mapas de Shanghai ilustran la situación (el desplazamiento de la transformación real no se ha demostrado).

ios 6 chinese maps

Por lo tanto, habría alguna manera de saber en tiempo de ejecución si se transforman o se utilizan mapas no transformadas China? Otras ideas para lidiar con esto?

Editar: Enrutar el tráfico de red a través de un proxy en China cambia la apariencia del mapa en el simulador, por lo que la elección del proveedor de mapas debe basarse en IP.

+0

¿La decisión de qué mapa se debe servir en función de la geolocalización del dispositivo solicitante o la configuración regional establecida para el dispositivo? Si se basa en la configuración regional, ¿es posible establecer la configuración regional cuando se solicita el mapa para obtener un resultado coherente? – Snips

+0

Cambiar la configuración regional del dispositivo no hace la diferencia, por lo que parece basarse en la geolocalización mediante servicios de IP o de ubicación interna. –

Respuesta

0

¿No pudo obtener los datos geográficos del teléfono y si están en China, aplicar las anotaciones transformadas?

+1

Podría, pero no puedo saber con certeza en qué se basa la elección del proveedor del mapa. Otras regiones que China posiblemente puede verse afectada y puede cambiar en el futuro. –

1

Siempre puede usar Bing Maps SDK si necesita coherencia, es decir, la coherencia entre las versiones de iOS y entre personas de EE. UU. O China. Aunque recomendaría seguir con MapKit.

Cuestiones relacionadas