Google Maps Android API v2 en China – la carga del mapa tomó alrededor de una hora

Lo que tengo: aplicación androide nativa que utiliza Android Maps API v2 (biblioteca nativa)

Todo funciona bien en Hong Kong y Ucrania. Los problemas llegaron tan pronto como entramos en la frontera con China. Tenemos problemas siguientes:

  • El mapa está cargando de 30 minutos a aproximadamente una hora.
  • Incluso cuando se carga, la resolución del mapa es muy baja http://i.gyazo.com/d4f40e1a225bd48a90087c39a502e4a6.png
  • Google Map WORKS por sí mismo: http://i.gyazo.com/dc85e3618c285ced5bba799053dd0306.png

Lo que sé en China:

  • Google no es realmente amigable allí, pero nuestra aplicación no es la que se utiliza un google maps en China, por lo que probablemente mi problema no es nuevo.
  • Existe la opción de usar un google maps alojado localmente en China – ditu.google.cn, pero tan pronto como estamos usando la aplicación nativa no hay una opción ahora para usar una vista web de mapa en lugar de implementación nativa (tenemos Un montón de personalizaciones)
  • Sé, que mejor no utilizar HTTPS con Google Maps (se puede leer aquí: Google Maps Geolocation API para China )

La pregunta es:

  • ¿Podríamos de alguna manera mejorar la carga del mapa? ¿Podríamos de alguna manera anular el origen del mapa de google para usar un ditu.google.cn?
  • ¿Podríamos de alguna manera desactivar HTTPS en Map API?
  • Cualquier otra solución alrededor de este problema, que puede aplicarse en función de los servicios de google. Tal vez hay algunas características indocumentadas?

Lo que no se espera como respuesta es algo como "Use Baidu". Sé que Baidu y esto es una opción de copia de seguridad veeerryyy tan pronto como tienen una api docs en chineese.

Su tarifa agrega, que el API de Geocoding basado en ditu.google.cn trabaja bueno.

Mirando hacia adelante, gracias!

Tal vez usted no puede anular la fuente de azulejos original. Pero puede usar TileOverlay para obtener los mapas de la baldosa desde el servidor externo.

Ejemplo de uso:

TileProvider tileProvider = new UrlTileProvider(256, 256) { //... @Override public URL getTileUrl(int x, int y, int zoom) { /* Define the URL pattern for the tile images */ String s = String.format("http://my.image.server/images/%d/%d/%d.png", zoom, x, y); if (!checkTileExists(x, y, zoom)) { return null; } try { return new URL(s); } catch (MalformedURLException e) { throw new AssertionError(e); } } //... } 

Puede reemplazar my.image.server por ditu.google.cn y utilizar API de servidor externo para obtener imágenes de mosaico. En Maps, puede establecer OnCameraChangeListener , por lo que la aplicación cargará los mosaicos desde un servidor externo cuando el mapa esté ampliando o panorámico.

Más información: https://developers.google.com/maps/documentation/android/tileoverlay

Google aún no tiene una licencia de publicación de mapas en China (por lo menos como mi última información va) Puede ser que en un futuro próximo los servicios de Google Maps serán bloqueados.

Muchos sitios web chinos, incluyendo el nuestro, utilizan JS de Google, así como su API de servicio, entre ellos es la api de geocodificación de Google. En china, baidu (NASDAQ: BIDU) y sogou [el motor de búsqueda secundario, parte de sohu (NASDAQ: SOHU)] ambos proporcionaron mapas en línea y también APIs,

El mapa de baidu api home es http://dev.baidu.com/wiki/map/in

El mapa de sogou api home es http://map.sogou.com/api/

En realidad, en China, a partir de ahora, los google maps api todavía están disponibles ahora. A partir de noticias recientes de chinatech.us, Google China pasó la inspección anual y consiguió más oportunidad de conseguir la licencia en línea del negocio del mapa tan, los 3 API son y están disponibles.

  • El marcador del mapa de Google se reemplaza por el rectángulo delimitador en el zoom
  • Cómo enfocar el marcador de Google por marcador de título?
  • Mostrar el botón de direcciones en Google Map cuando se abre la ventana de información mediante programación
  • Google Maps open-source-attribution es increíblemente grande y bloquea el hilo principal
  • Aplicación de Android Studio 0.2 que utiliza Google Maps - Gradle modify
  • Google Maps Android, detecta la interacción del usuario en un mapa de la ubicación
  • Google Maps CameraUpdateFactory no se ha inicializado
  • Cómo dibujar una ruta utilizando diferentes valores long lat?
  • Error en Google Maps android "android Error al cargar el mapa. No se pudo contactar con los servidores de Google. "
  • ¿Una clave API de Google Maps caduca después de un tiempo determinado?
  • Android Google Map marcador título en árabe mostrando en blanco
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.