2013-08-12 3 views
1

На моем сайте используется API Карт Google, последняя версия, через Javascript. Мой сайт также загружает страницы через AJAX. Я слушаю внутренние события щелчка ссылки, а затем загружаю страницу, анализируя DOM, выбирая то, что я хочу, через jQuery и вставляя его в div.API Карт Google js3 не загружает всю карту

Когда я загружаю свою страницу контакта (которая содержит карту), карта загружается штрафом. Фактически, даже если я загружаю другую страницу, а затем нажмите ссылку контакта (чтобы страница контакта загружалась через AJAX), карта загружается штрафом. Как только я просмотрю страницу контакта, если я перейду на другую страницу (через AJAX), а затем вернусь на страницу контакта, нажав на ссылку контакта (через AJAX), тогда карта отобразит только один квадрат, а остальная часть карты не будет нагрузки. Весь Javascript для начала и настройки карты находится в пределах кода страницы контакта, который каждый раз загружается через AJAX.

Я попытался использовать метод событий Google Maps, чтобы вызвать изменение размера, но ничего не сделал.

Любые идеи?

+1

Вы не могли бы разместить ссылку на демо? –

+0

К сожалению, нет. Я знаю, что это усложняет ситуацию. – Chris

ответ

2

Это вопрос времени. Условие «one-tile» Google.maps вызвано попыткой загрузить инициализацию карты в div, который отображается, но скрыт или еще не отображен.

Другая проблема, которую вы, возможно, не рассматривали, заключается в том, что каждая загрузка карты поглощает вашу квоту Goggle, что является потенциально дорогостоящим. С помощью «одностраничного» дизайна сайта вы можете свести к минимуму количество загрузок карты, перетасовывая карту на главную страницу хоста (но скрытую), а затем обратно на страницу карты, если она будет повторно выбрана. Это неудобно для достижения и может проверить вашу способность javascript. Боюсь, я не знаю демо.

+1

Это была проблема. Странно, однако, поскольку первый раз, когда он загружает карту, div находится в том же состоянии. В любом случае, вызывая изменение размера на карте после того, как div виден, проблема решена. – Chris

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