Как сделать заддержку при загрузке kml?
-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 03 июн 2011, 14:44
- Репутация: 0
Как сделать заддержку при загрузке kml?
Когда устанавливаю на карту слой, он не успевает загрузится из oracle. В результате kml не отображается.
Как установить на карту слой после того как ссылка загрузится?
________________________________________________________
var markersKML_1 = new google.maps.KmlLayer("http:/");
подгружаю kml
markersKML_1.setMap(map);
устанавливаю kml на карту
________________________________________________________
или выполнять операторы с задержкой.
Проверял на коротких kml все работает.
Как установить на карту слой после того как ссылка загрузится?
________________________________________________________
var markersKML_1 = new google.maps.KmlLayer("http:/");
подгружаю kml
markersKML_1.setMap(map);
устанавливаю kml на карту
________________________________________________________
или выполнять операторы с задержкой.
Проверял на коротких kml все работает.
Последний раз редактировалось cadmy 13 окт 2011, 07:19, всего редактировалось 1 раз.
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Как сделать заддержку при загрузке kml?
В доках пишут что нужно ловить событие metadata_changed и в его обработчике добавлять слой на карту.
лангольеры под окном жрали время ом-ном-ном
-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 03 июн 2011, 14:44
- Репутация: 0
Re: Как сделать заддержку при загрузке kml?
Что-то не выходит. Устанавливаю прослушиватель
_________________________________________________________________________________________
markersKML_1 = new google.maps.KmlLayer("http://");
alert ("0");
google.maps.event.addListener(markersKML_1, 'metadata_changed',
function(){alert("1");}
);
_________________________________________________________________________________________
И алерт 0 выскакивает, а 1 нет.
_________________________________________________________________________________________
markersKML_1 = new google.maps.KmlLayer("http://");
alert ("0");
google.maps.event.addListener(markersKML_1, 'metadata_changed',
function(){alert("1");}
);
_________________________________________________________________________________________
И алерт 0 выскакивает, а 1 нет.
Последний раз редактировалось cadmy 13 окт 2011, 07:19, всего редактировалось 1 раз.
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Как сделать заддержку при загрузке kml?
Не знаю... здесь работает.
лангольеры под окном жрали время ом-ном-ном
-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 03 июн 2011, 14:44
- Репутация: 0
Re: Как сделать заддержку при загрузке kml?
Там вроде прослушивание событий html-страницы, а не состояние kml-файла определяется. Тем более там заранее сформированные kml используются, а у меня динамически формируются
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Как сделать заддержку при загрузке kml?
1. В официальных доках пишут именно про metadata_changed.
2. С точки зрения веб-приложения не имеет значения готовый файл или он генерируется по запросу. Так как запрос асинхронный, то объем данных тоже не должен влиять.
Получаемый KML проверяли на корректность, может в нем ошибки?
2. С точки зрения веб-приложения не имеет значения готовый файл или он генерируется по запросу. Так как запрос асинхронный, то объем данных тоже не должен влиять.
Получаемый KML проверяли на корректность, может в нем ошибки?
лангольеры под окном жрали время ом-ном-ном
-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 03 июн 2011, 14:44
- Репутация: 0
Re: Как сделать заддержку при загрузке kml?
Нет в нем ошибок.
Подскажите как тут использовать "metadata_change"
Подскажите как тут использовать "metadata_change"
Последний раз редактировалось cadmy 13 окт 2011, 07:18, всего редактировалось 3 раза.
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Как сделать заддержку при загрузке kml?
Видно что загрузка слоя KML (без реферрера нерабочая):
обрывается ошибкой на сервере google без указания причины "Error 500 (Server Error)!!1".
В интернете всего пара подходящих под ситуацию тредов и все они обсуждают таймаут. Хотя я бы предположил, что ошибка по таймауту была бы задокументирована. Тем не менее ждать когда слой загрузится бессмысленно - загрузка завершилась, но с ошибкой. Придется как то договариваться между Oracle и прокси, который на maps.googleapis.com, и искать что его не устраивает.
Код: Выделить всё
http://maps.googleapis.com/maps/api/js/KmlOverlayService.GetOverlays?1shttp%3A%2F%2Feqm-test.ertelecom.ru%2Fcgi-bin%2Fppo%2Fxml%2Fcreate_kml.test_kml%3Fcampus%3D1&callback=_xdc_._1ef4a2&token=76555
В интернете всего пара подходящих под ситуацию тредов и все они обсуждают таймаут. Хотя я бы предположил, что ошибка по таймауту была бы задокументирована. Тем не менее ждать когда слой загрузится бессмысленно - загрузка завершилась, но с ошибкой. Придется как то договариваться между Oracle и прокси, который на maps.googleapis.com, и искать что его не устраивает.
лангольеры под окном жрали время ом-ном-ном
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя