2012-05-06 5 views
1

Я создаю веб-страницу с двумя текстовыми полями и кнопкой направления получения. Когда кнопка нажата, маршрут прослеживается между двумя местоположениями. Это работает очень хорошо.Google maps 2 поля назначения

Проблема заключается в следующем: после того, как я нажал кнопку один раз, и я вхожу в новые местоположения, новый маршрут не отображается при нажатии кнопки.

Вот ссылка на мой код:

http://www.canning.co.nz/Mapping/Code.txt

Вот ссылка на рабочий пример (чтобы показать, что я имею в виду в моем вышеприведенном описании):

http://canning.co.nz/Mapping/directions.html

EDIT

Я также вижу, что функция Gload() - это функция, которая устанавливает переменные для двух и из поля текстового поля назначения. Поэтому в функции getDirections() я поместил вызов функции GLoad(). Однако до сих пор не повезло.

благодаря

ответ

2

gdir не является глобальной переменной. Вы определяете его в function doEnd() с var, что делает его локальным для этой функции и недоступно в других местах.

gdir сделать глобальную переменную, включив в

var gdir; 

вне любой функции, а затем просто использовать эту переменную внутри doEnd(), опуская var.

Вы также можете использовать переменную search несколько раз в различных контекстах, и по крайней мере один из них должен быть глобальным: есть ошибка search is not defined в function searchFunc() на

var result=geo.getCache().get(search); 

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

+0

Спасибо Эндрю. Я изменил его, как вы предложили, но он все еще не работает. – user1378688

+0

Пожалуйста, разместите ссылку на рабочую страницу NOT. Это непростая отладка кода. –

+0

ОК, вот оно: http://www.canning.co.nz/Mapping/directions.html – user1378688