Привет, умнее меня. ;) Я действительно не могу понять это странное поведение моего кода.Изменение переменной состояния JS в API GoogleMaps API не работает
Что нужно сделать, так это выполнить функцию fixedlocation() при нажатии кнопки, чтобы проверить, можно ли найти действительный адрес, а затем выполнить некоторый код.
Чтобы проверить, правильно ли он работает, у меня есть предупреждение в коде, которое дает мне состояние логического значения, которое должно быть изменено. Теперь я действительно не понимаю, почему, но он работает только со второго нажатия кнопки. Это означает, что даже если действительный адрес можно найти, первый раз, когда появится предупреждение с ложным ...
Сначала я подумал, что это должно иметь какое-то отношение к тому, где я определил переменную, но потом она не смогла работать во второй раз?
Любая помощь или указатель в правильном направлении были бы высоко оценены.
var geoinfobool=new Boolean();
function fixedlocation()
{
var addresscoordinates = new google.maps.LatLng(document.getElementById('addresslat').value,document.getElementById('addresslng').value)
geocoder.geocode({'latLng': addresscoordinates}, function(results, status)
{
if (status == google.maps.GeocoderStatus.OK)
{
geoinfoavailable(true);
//do other stuff in here//
}
else
{
geoinfoavailable(false);
//do other stuff in here//
}
});
alert(geoinfobool);
}
function geoinfoavailable(state)
{
geoinfobool = state;
}
Спасибо за вход Дэвид, я на самом деле имеют геокодер определенный, не отправлял его правильно извините. Я более смущен, чем когда-либо, когда узнал, что получаю правильное предупреждение, если включить в код геокодера предупреждение. Если предупреждение (geoinfobool); следует сразу после закрытия скобок другого, затем он внезапно работает ... На самом деле не знаю, почему это будет так, хотя ... – MikeAndIke