Googlemaps возвращает объект из функции инициализации - PullRequest
1 голос
/ 02 октября 2011

У меня есть список информационных окон, скажем, пронумерованных от 1 до 5. И у них есть форма для направления.Когда я рисую маршрут, информационное окно должно рухнуть.Все работает, я просто хочу, чтобы объект infowindow был доступен вне функции

infowindow.close () работает нормально, если его инициализируют, однако функция calcRoute () находится за пределами функции инициализации.Я пытаюсь вернуть информационное окно из функции, но не знаю, где я ошибаюсь, вот в чем суть того, что я делаюкарты могут пролить свет.Большое спасибо заранее.(Я потратил несколько дней, пытаясь получить это)

1 Ответ

0 голосов
/ 02 октября 2011

Это может быть глупый вопрос, но сохраняете ли вы возвращаемое значение инициализации?Конечно, вы не показываете весь свой код, но это не ясно из того, что там есть.Примерно так:

var infowindow3 = initialize();
alert(infowindow3);

Конечно, типичный способ инициализации вызова - это событие load, поэтому вы не сможете получить возвращаемое значение таким способом.Таким образом, вы должны установить (в вашем примере) глобальную переменную, и она установит эту глобальную переменную внутри инициализации (и ничего не будет возвращать).Страница, на которую вы ссылались (в вашем комментарии) Я вижу, что вы звоните на alert(infowindow3); до того, как infowindow3 будет определен.Вы также можете видеть, что на самой странице появляется всплывающее предупреждение с неопределенным значением, и страница еще не загружена - вы не видите никакой карты и, следовательно, initialize() еще не запущен.Имейте в виду, что во время загрузки страницы любой скрипт вне функции (или код функции, если вызов функции находится в этом «открытом пространстве») будет выполняться в тот момент, когда браузер читает его.Это предупреждение является примером этого.Вам нужно поместить это предупреждение (или любой код, который использует эту переменную) в функцию, которая не вызывается до тех пор, пока она не определена initialize().Примерами этого являются функции, которые вызываются с onclick.Фактически, initialize сам является примером этого (он вызывается с onload).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...