2012-09-20 12 views
28

Per le mappe cinesi su iOS 6, sembra che MapKit seleziona fornitore di mappe basate sulla tua cui si trova il dispositivo. Se sei in Cina, utilizzerà le mappe AutoNavi e utilizzerà le mappe Apple predefinite. Per complicare le cose, le mappe di AutoNavi sembrano essere trasformate nello stesso modo in cui le mappe di Google su iOS 5 sono, mentre le mappe Apple predefinite non vengono trasformate.Come gestire mappe cinesi inconsistenti su iOS 6?

Per trasformato Sto parlando del fatto che all maps in China are transformed, anche se questo non è vero. Piuttosto, alcune mappe in Cina vengono trasformate, mentre altre no.

questa trasformazione rende difficile posizionare correttamente le annotazioni sulla mappa dal momento che la mappa è generalmente compensato circa 500 metri. Poiché non è possibile invertire la trasformazione della mappa effettiva, la soluzione è applicare lo stesso offset alle annotazioni.

There exists non-trivial ways to inverse the transform, at least for limited areas. Il problema in iOS 6 è sapere se la mappa viene trasformata o meno per essere in grado di compensare le annotazioni in modo appropriato. Su iOS 5 questo problema non esisteva poiché le mappe trasformate venivano utilizzate in modo coerente.

Le mappe di Shanghai sotto illustra la situazione (l'attuale trasformano di offset non è dimostrata).

ios 6 chinese maps

Quindi, ci sarebbe alcun modo di sapere in fase di esecuzione se trasformati o vengono utilizzate mappe non trasformato la Cina? Altre idee per affrontare questo?

Modifica: Il routing del traffico di rete attraverso un proxy in Cina cambia la mappatura delle mappe nel simulatore, quindi la scelta del provider di mappe deve essere basata su IP.

+0

La decisione di quale mappa servire in base alla geolocalizzazione del dispositivo richiedente o alle impostazioni internazionali del dispositivo? Se si basa sulla locale, è possibile impostare le impostazioni locali quando si richiede la mappa per ottenere un risultato coerente? – Snips

+0

La modifica delle impostazioni locali del dispositivo non fa la differenza, quindi sembra essere basata sulla geolocalizzazione tramite IP o servizi di localizzazione interni. –

risposta

0

Impossibile ottenere i dati geo dal telefono e se sono in Cina applicare le annotazioni trasformati?

+1

Potrei, ma non posso davvero sapere con certezza su cosa sia basata la scelta del fornitore di mappe. Altre regioni potrebbero essere interessate dalla Cina e potrebbero cambiare in futuro. –

1

È sempre possibile utilizzare Bing Maps SDK se si ha assolutamente bisogno di coerenza, ovvero coerenza tra le versioni iOS e tra le persone negli Stati Uniti o in Cina. Anche se consiglierei di attenersi a MapKit.