2015-03-30 7 views
1

Как известно, кто-нибудь знает, почему он замерзает каждые 30 секунд? Я понял, что это какой-то таймер с Google Maps, но не может найти такую ​​ссылку.Карты Google JSv3 Замерзает на несколько секунд каждые 30 секунд

Чтобы воссоздать, просто скопировать в локальный файл полного HTML + JavaScript от:

https://developers.google.com/maps/documentation/javascript/examples/map-simple

Открыть локальный HTML-файл, а затем просто перемещать карту и она замерзает в течение 30 секунд. Как только он размораживается, он работает нормально, пока не истечет 30 секунд.

Кажется, что это происходит только в IE (я использовал версию 11). Обратите внимание, что он не замерзает на приведенной выше странице Google.

Любая помощь будет оценена по достоинству.

+0

Попробуйте [выпуск или замороженные версии] (https://developers.google.com/maps/documentation/javascript/basics#Versioning), похоже на изменение экспериментальной версии. – geocodezip

+0

Я пробовал 3 и 3.19, и оба кажутся прекрасными. Однако, не указывая версию, это приведет к замораживанию, очень странно. –

+0

Оба варианта 3 и 3.19 дают вам версию выпуска. Не указывая версию, она эквивалентна [экспериментальной версии, если вы читаете документацию] (https://developers.google.com/maps/documentation/javascript/basics#Versioning) (если у вас нет бизнес-лицензии, вы получаете версия по умолчанию) – geocodezip

ответ

3

Это, похоже, проблема в экспериментальной версии, в настоящее время 3.20.

См versioning in the Developer's Guide

Versioning

API Карт Google команда будет регулярно обновлять этот JavaScript API новые функции, исправления ошибок и улучшения производительности. Все изменения API будут обратно совместимы, гарантируя, что при запуске приложения с использованием документированных в настоящее время интерфейсов это приложение будет продолжать работать без изменений по мере обновления API. (Примечание:.. Экспериментальные функции, документированные в Экспериментальном API Reference не покрываются данной гарантией характеристики, которые являются экспериментальным будут четко обозначены в документации API)

Типы версий

Вы можете указать, который версию API для загрузки в ваше приложение, указав ее с помощью параметра v для запроса начальной загрузки API Javascript API. Поддерживаются три варианта:

  • Экспериментальная версия, указанная с v = 3.exp.
  • Версия выпуска, указанная с v = 3 или v = 3.19.
  • Пронумерованная версия, обозначенная буквой v = 3.18.
  • Если вы явно не укажете версию, вы получите экспериментальную версию по умолчанию. Клиенты Google Maps API for Work, которые задают идентификатор клиента, будут получать версию выпуска по умолчанию.

Экспериментальная версия

Экспериментальная версия - в настоящее время 3.20 - содержит новые функции и исправления ошибок, поскольку они сделаны общедоступными. Изменения, внесенные в экспериментальную версию, не гарантируются стабильной функцией. Мы рекомендуем регулярно тестировать ваши приложения с экспериментальной версией, которую вы можете сделать, добавив v = 3.20 при загрузке API Карт. Если вам нравится жить на краю, вы можете добавить v = 3.exp, чтобы всегда получать текущую экспериментальную версию со всеми ее последними функциями.

+0

Спасибо. Это в значительной степени объясняет это. Я тестировал, не указав версию (изначально предполагал, что она будет использовать версию выпуска) и устраняет проблемы с замораживанием с помощью примера Google, который указывает экспериментальную версию. –

+0

Спасибо. Это устраняет мою проблему с Google Map. – Abhishek

0

Я думаю, что это как-то связано с настройками безопасности (для локальных файлов).

Потому что я принимал точный файл на github, и он, кажется, работает нормально. И единственное различие между этими двумя файлами - это их место хранения. Если вы откроете локальный файл, он скажет что-то вроде internet explorer restricted this webpage from running scripts or activex controls, поэтому я бы сказал, что это параметры безопасности для локальных файлов.

enter image description here

+0

Спасибо, kaho. Я сделаю больше тестов на основе вашего ответа и отчитаюсь. –

+0

Я разместил его на веб-сервере и подтвердил, что замораживание остановилось, как вы сказали. –

+0

Думаю, что я могу обмануть IE, я попробовал «Mark of the Web», но не повезло. Это заставило ускользнуть, но замораживание все еще происходит. Я оставлю это открытым на некоторое время дольше, так как мне бы очень хотелось узнать точную причину замораживания. –

0

Если вы попытаетесь запустить HTML с локального диска с инструментами для разработчиков на вы получите сообщение об ошибке «Недопустимый аргумент», в функции ниже, то вы попали f5, чтобы продолжить и карты в конечном итоге делает. Надеюсь это поможет.

function dn(a,b){return a.setQuery=b}function en(a,b){return a.background=b}function fn(a,b){return a.tilt_changed=b}function gn(a,b){return a.bounds_changed=b}function hn(a,b){return a.getStatus=b}function jn(a,b){return a.getQuery=b}function kn(a,b){return a.projectionBounds_changed=b}function ln(a,b){return a.border=b} 
+0

Проблема в том, что он замерзает каждые 30 секунд без ошибок, сообщаемых в IE (даже с помощью консоли разработчика). Спасибо, в любом случае. –

Смежные вопросы