Определить, была ли переменная изменена в другой функции - PullRequest
0 голосов
/ 23 декабря 2011

Я довольно новичок в JavaScript и Google Maps. У меня есть вход, который при отправке геокодирует значение, и я хотел бы, чтобы:

  • если карта существует (что-то введено и успешно геокодировано уже), затем повторно введите его
  • иначе создайте карту с центром в этой точке.

Мой код выглядит примерно так:

var map;

function getlatlong() { //this function gets the input value and then geocodes
    if(map.length){recentermap()} //if map exists, recenter map
    else{createmap()} //create map
}

function createmap(){ //this function creates the map (by editing `var map`)
    var map = new google.maps.Map();
}

Мне кажется, я просто не понимаю, как работают переменные js ... мой вопрос, как мне узнать, изменилась ли карта var, если я изменю ее во второй функции?

1 Ответ

2 голосов
/ 23 декабря 2011

Когда вы говорите:

function createmap(){ //this function creates the map (by editing `var map`)
    var map = new google.maps.Map();
}

Вы создаете локальную переменную с именем map, которая существует только в функции createmap.Вы хотите использовать переменную map, которую вы объявили во внешней области видимости, поэтому не следует использовать ключевое слово var:

function createmap(){ //this function creates the map (by editing `var map`)
    map = new google.maps.Map();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...