Иногда при загрузке карты я получаю статическое изображение (и без маркеров) вместо интерактивной карты с маркерами и элементами управления.
Думаю, это особенность для медленных подключений:
http://code.google.com/intl /es-AR/apis/maps/articles/static+js.html
Но тогда в API есть ошибка, потому что я застрял в этом статическом изображении, карта никогда не загружается.
Знаете ли вы, можно ли отключить статическое изображение в APIv3 и принудительно загружать интерактивную карту каждый раз?
2 ответа
НОВЫЙ / ОБНОВЛЕННЫЙ ОТВЕТ . По-видимому, раньше вы могли подавить это поведение, установив useStaticMap: false
в своем объекте MapOptions. Однако есть сообщения, что это перестало работать примерно в марте. См. эту ветку Групп Google. Возможно, он был восстановлен, а возможно, нет. Поиск "useStaticMap" в миниатюрном коде JavaScript для Google Maps API v3 действительно дает результат, так что это многообещающе.
Также обратите внимание на сообщение в этом потоке, в котором говорится, что имя свойства было изменено на useStaticMapImpl. Беглый поиск в JavaScript не позволяет найти эту строку, но если useStaticMap не работает, то это тоже стоит попробовать.
И снова удачи! Если бы я мог воспроизвести эту проблему, я мог бы протестировать некоторые из этих предложений, прежде чем их отбросить, но, увы, я не могу этого добиться по какой-либо причине.
СТАРЫЙ ОТВЕТ . Я пытался добиться описанного вами поведения, замедляя сетевое соединение с помощью SpeedLimit на Mac. Я не смог этого сделать. Из этого я прихожу к выводу, что, возможно, проблема в медленном соединении, это может быть очень медленное соединение. Поэтому я подозреваю, что отключение этой функции может привести к тому, что карта просто не загрузится.
Я не могу найти в Справочнике по API ничего, что указывало бы на возможность использования этой функции. Фактически, если судить исключительно из Справочника по API, такого переключения на статические карты не существует. Хотя я вижу, где это упоминается в предоставленной вами ссылке, возможно, справочник по API неполный.
С учетом всего сказанного, если вы хотите попытаться отключить поведение, вы можете сделать это, прослушивая событие tilesloaded
и / или idle
в объекте Map. (Событие idle
предположительно запускается, когда карта загружена и готова к использованию, но событие tilesloaded
кажется более интуитивным. Возможно, вам придется поэкспериментировать, чтобы увидеть, какое из них даст вам результат, который вы хотите.) Вы можете скрыть <div>
до тех пор, пока не сработает соответствующее событие.
Удачи!
Вероятно, это не ответ на ваш вопрос, но у меня была такая же проблема, и я обнаружил, что дважды загружал API по ошибке. Как только я удалил повторяющийся скрипт, все снова заработало.
Похожие вопросы
Новые вопросы
google-maps
Карты Google - это приложение и технология службы картографирования веб-страниц и мобильных устройств, предоставляемые компанией Google, которые предлагают спутниковые изображения, карты улиц и перспективы просмотра улиц. Также поддерживаются карты, встроенные на сторонние веб-сайты через API Карт Google, и локатор для городских предприятий и других организаций во многих странах мира.