Google maps api v3 показывает статическое изображение вместо интерактивной карты - PullRequest
3 голосов
/ 28 августа 2011

Иногда, когда я загружаю карту, я получаю статическое изображение (и без маркеров) вместо интерактивной карты с их маркерами и элементами управления.
Я думаю, что это функция для медленных соединений:
http://code.google.com/intl/es-AR/apis/maps/articles/static+js.html

Но тогда в API есть ошибка, потому что я застрял в этом статическом изображении, карта никогда не загружается.

Знаете ли вы, возможно ли отключить статическое изображение в APIv3 и принудительно загружать интерактивную карту каждый раз?

Ответы [ 2 ]

3 голосов
/ 05 августа 2013

Возможно, это не ответ на ваш вопрос, но у меня возникла та же проблема, и я обнаружил, что дважды загружал API. Как только я удалил дубликат скрипта, все снова заработало.

2 голосов
/ 28 августа 2011

НОВЫЙ / ОБНОВЛЕННЫЙ ОТВЕТ : Очевидно, вы могли подавлять это поведение, устанавливая useStaticMap: false в своем объекте MapOptions. Тем не менее, есть сообщения, что это перестало работать примерно в марте. См. эту ветку групп Google . Возможно это было восстановлено и возможно это не было. Поиск «useStaticMap» в минимизированном коде JavaScript для Google Maps API v3 действительно дает успех, так что это многообещающе.

Обратите внимание также на сообщение в этой теме, в котором говорится, что имя свойства было изменено на useStaticMapImpl. Беглый поиск в JavaScript не находит эту строку, но если useStaticMap не работает, то это тоже может стоить.

Опять удачи! Если бы я мог воспроизвести эту проблему, я мог бы проверить некоторые из этих предложений перед тем, как от них отказаться, но, увы, я не могу этого добиться по любой причине.

СТАРЫЙ ОТВЕТ : Я пытался добиться описанного вами поведения, замедляя сетевое соединение с помощью SpeedLimit на Mac. Я не смог этого сделать. Из этого я делаю вывод, что, возможно, если проблема в медленном соединении, это может быть очень медленное соединение. Поэтому я подозреваю, что отключение этой функции может привести к тому, что карта вообще не загружается.

Я не могу найти в Справочнике API ничего, что указывало бы на опцию для этой функции. На самом деле, судя только по Справочнику по API, эта функция отработки отказа для статических карт не существует. Хотя я и вижу, на что это ссылается в предоставленной вами ссылке, поэтому, возможно, Справочник по API неполный.

Все это говорит о том, что если вы хотите попытаться отключить поведение, вы можете сделать это, прослушивая событие tilesloaded и / или idle на объекте Map. (Предположительно, событие idle происходит, когда карта загружена и готова к использованию, но событие tilesloaded кажется более интуитивным. Возможно, вам придется поэкспериментировать, чтобы выяснить, какой из этих результатов даст вам желаемый результат. Вы можете скрыть <div>, пока не сработает соответствующее событие.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...