Можно ли вставить карту Google на страницу через AJAX

#javascript #jquery #google-maps

#javascript #jquery #google-карты

Вопрос:

Я использую API javascript Google Maps V3 для создания карты Google. Это работает нормально, но на моей карте много маркеров, и поэтому создается много javascript, что делает страницу размером около 5 МБ, и поэтому время загрузки страницы велико (более 20 секунд)! Вместо этого я хотел вставить карту через ajax, чтобы я мог отображать gif-файл загрузчика ajax, пока он не будет загружен. Однако я не могу заставить ее работать. Я подключаю javascript и все остальное и вставляю его на страницу, но карта не загружается. Нужно ли мне вызывать функцию инициализации, когда код находится на странице или что-то в этом роде?

Комментарии:

1. Может быть, вы ищете менеджер маркеров?

Ответ №1:

Вы можете использовать addListener для привязки события к состоянию ожидания вашей карты.

Итак, может быть, вы могли бы загрузить ее скрытой в фоновом режиме, отобразить свой счетчик, дождаться события, а затем отобразить его.

Что-то вроде :

 google.maps.event.addListener(yourmap, 'idle', function()
{
if(!mapLoaded) $('#yourmapdiv').trigger('mapLoaded');
mapLoaded=true; 
});
  

Затем :

 $('#yourmapdiv').bind('mapLoaded', function(){
// hide your spinner, show your map
});
  

Я не уверен, касается ли состояние ожидания только загрузки плиток или всех маркеров.