Можно ли лениво загружать файлы KML после запуска экземпляра Google Map или плагина Google Планета Земля? Может быть, есть событие «ограничивающего прямоугольника», которое я могу использовать, чтобы поставить в очередь необходимые файлы KML?
Редактировать => Найден ответ:
Нашел этот маленький кусочек (http://code.google.com/apis/maps/documentation/javascript/events.html):
Примечание. Если вы пытаетесь обнаружить
изменить в окне просмотра, обязательно используйте
конкретное событие bounds_changed
а не составляющая
и center_change события. Поскольку
API Карт запускает эти последние события
независимо, getBounds () не может
сообщать о полезных результатах до
Окно просмотра авторитетно изменилось.
Если вы хотите получить getBounds () после такого
событие, обязательно послушайте
событие bounds_changed вместо этого.
... что привело меня к «Управление маркерами видового экрана» на этой странице: http://code.google.com/apis/maps/articles/toomanymarkers.html#viewportmarkermanagement
Предлагая эту основную идею:
google.maps.event.addLisener(map, 'idle', showMarkers);
function showMarkers() {
var bounds = map.getBounds();
// Call you server with ajax passing it the bounds
// In the ajax callback delete the current markers and add new markers
}
Аналогично, для GEP, есть следующее:
* * GEView.getViewportGlobeBounds тысячи двадцать-одина ()
Возвращает ограничивающий прямоугольник, который полностью
содержит регион земного шара, который
в настоящее время виден. Возвращенная коробка
будет больше, чем строго
видно, если это необходимо
включите все, что видно.
Возвращает соответствующий KmlLatLonBox
к ограничивающей рамке текущего
область просмотра или ноль, если нет части
глобус виден