Intereting Posts
Xamarin Studio 2 – последнее стабильное обновление – Ошибка выполнения задачи Aapt: Исходная последовательность пуста Guava: java.lang.NoClassDefFoundError – com.google.common.collect.HashBiMap Android, как остановить обновление фрагментов при изменении вкладок Масштабирование и панорамирование вида в андроиде Использование одного и того же отладочного хранилища ключей на нескольких компьютерах Как сделать новый эффект параллакса PlayStore Android открывает браузер из службы, избегая нескольких вкладок Статические андроидные ярлыки для нескольких ароматов? Уровень языка Java 8 (Retrolambda) на AndroidStudio 4+? Android, обработчик SQLiteConstraintException Android Facebook API и ShareLinkContent Отправка сообщений (уведомление) группе – Android Как получить доступ к новому API Gmail из моего приложения для Android? Как изменить значок меню в панели действий? Существуют ли какие-либо HTTP-прокси, такие как скрипач или проводник на андроиде?

Google Maps Android API v2 в Китае – загрузка карты заняла около часа

Что у меня есть: родное приложение для Android, использующее Android Maps API v2 (родная библиотека)

Все хорошо работает в Гонконге и на Украине. Проблемы возникли, как только мы шагнули на границе Китая. У нас есть следующие проблемы:

  • Карта загружается с 30 минут до часа.
  • Даже когда он загружен, разрешение карты очень низкое. Http://i.gyazo.com/d4f40e1a225bd48a90087c39a502e4a6.png
  • Google Map РАБОТАЕТ сам по себе: http://i.gyazo.com/dc85e3618c285ced5bba799053dd0306.png

Что я знаю о Китае:

  • Google на самом деле не очень дружелюбен, но наше приложение не является тем, которое использует карты Google в Китае, поэтому моя проблема, вероятно, не новая.
  • Существует возможность использовать карты google, размещенные локально в Китае – ditu.google.cn, но как только мы используем собственное приложение, теперь нет возможности использовать веб-представление карты вместо собственной реализации (у нас есть Множество настроек)
  • Я знаю, что лучше не использовать HTTPS с картами Google (вы можете прочитать это здесь: Google Maps Geolocation API для Китая )

Вопрос в том:

  • Можем ли мы как-то улучшить нагрузку на карту? Можем ли мы каким-то образом переопределить источник карты google, чтобы использовать ditu.google.cn?
  • Можем ли мы каким-то образом отключить HTTPS в Map API?
  • Любые другие решения этой проблемы, которые могут применяться на основе сервисов google. Возможно, есть некоторые недокументированные функции?

То, что не ожидалось, как ответ – это что-то вроде «Use Baidu». Я знаю Baidu, и это вариант резервного копирования veeerryyy, как только у них есть api docs на китайском языке.

Это означает, что API геокодирования на основе ditu.google.cn работает хорошо.

Заглядывая вперед, спасибо!

Solutions Collecting From Web of "Google Maps Android API v2 в Китае – загрузка карты заняла около часа"

Возможно, вы не можете переопределить исходный источник плитки. Но вы можете использовать TileOverlay для получения карт с внешнего сервера.

Пример использования:

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); } } //... } 

Вы можете заменить my.image.server на ditu.google.cn и использовать внешний серверный API для получения изображений в виде плитки. В Картах вы можете установить OnCameraChangeListener , поэтому приложение будет загружать фрагменты с внешнего сервера, когда карта масштабируется или панорамируется.

Подробнее: https://developers.google.com/maps/documentation/android/tileoverlay

Google по-прежнему не имеет лицензии на публикацию карт в Китае (по крайней мере, по мере моей последней информации). Возможно, в ближайшее время службы Google Map будут заблокированы.

Многие китайские сайты, в том числе и наши, используют JS Google, а также их API-сервисы, среди которых Google Geocoding api. В Китае, baidu (NASDAQ: BIDU) и sogou [второстепенная поисковая система, часть sohu (NASDAQ: SOHU)], оба предоставили онлайн-карты, а также API,

Карта baidu api home – http://dev.baidu.com/wiki/map/in

Карта sogou api home http://map.sogou.com/api/

На самом деле, в Китае, на данный момент, google maps api все еще доступны. Как из недавних новостей chinatech.us, Google China прошел ежегодную проверку и получил больше возможностей для получения онлайн-лицензии на бизнес-карту, поэтому 3 API доступны и доступны.