你好比我聪明的人。 ;) 我真的无法想象我的代码这种奇怪的行为。
它应该做的是在按下按钮时执行函数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;
}
答案 0 :(得分:0)
在您的代码中未定义地理编码器。
尝试
var addresscoordinates = new google.maps.LatLng(document.getElementById('addresslat').value,document.getElementById('addresslng').value);
var geocoder = new google.maps.Geocoder();
geocoder.geocode({'latLng': addresscoordinates}, function(results, status)
{