gpt4 book ai didi

谷歌地图中的javascript变量不可用,太困惑了!

转载 作者:行者123 更新时间:2023-12-02 20:18:15 29 4
gpt4 key购买 nike

我正在使用谷歌地图v3,并且使用StreetViewService来检查我的标记处的街景时遇到了一个非常令人困惑的情况。在我的“loadMap”函数中,我使用以下命令运行此检查:

//more 'loadMap' function code above and below this

var streetViewCheck = new google.maps.StreetViewService();
streetViewCheck.getPanoramaByLocation(latlng, 50, function(result, status) {
if (status == google.maps.StreetViewStatus.ZERO_RESULTS) {
streetViewAvailable = 0;
}else{
streetViewAvailable = 1;
}
});
alert(streetViewAvailable);

上面的警报抛出此 js 错误消息“streetViewAvailable 未定义”,并且该变量在整个函数中的任何位置都不可用。但是,如果我将警报放在这里:

var streetViewCheck = new google.maps.StreetViewService();  
streetViewCheck.getPanoramaByLocation(latlng, 50, function(result, status) {
if (status == google.maps.StreetViewStatus.ZERO_RESULTS) {
streetViewAvailable = 0;
alert(streetViewAvailable);
}else{
streetViewAvailable = 1;
alert(streetViewAvailable);
}
});

它们正确地发出警报(即,如果街景不可用,则为 0;如果街景可用,则为 1),但同样,该变量在函数中的任何位置都不可用。现在真正令人困惑的部分是,变量在其他函数中可用

这到底是怎么回事?为什么我的变量没有在初始化它的函数中定义,但在其他函数中定义并可用。我不是世界上最伟大的程序员(但也不是最差的!)但这让我完全难住了。我尝试了很多选项,但都得到了相同的结果(即,在我的新 google.maps.StreetViewService(); 代码上方初始化变量“streetViewAvailable”,为它们分配值“yes”和“no”而不是 1 和0,使它们成为局部变量而不是全局变量(var streetViewAvailable...),以及前面提到的所有组合,但都具有相同的结果,未在此函数中定义。

请帮助我理解这一点,它也让我们的其他编码员难住了,它违背了所有逻辑!预先非常感谢,我希望有人能在我的大脑崩溃之前阐明这一点!!!

最佳答案

//more 'loadMap' function code above and below thisvar streetViewAvailable;var streetViewCheck = new google.maps.StreetViewService();  streetViewCheck.getPanoramaByLocation(latlng, 50, function(result, status) {    if (status == google.maps.StreetViewStatus.ZERO_RESULTS) {        streetViewAvailable = 0;            }else{        streetViewAvailable = 1;    }});alert(streetViewAvailable);

试试这个 - 你真的忘记声明 streetViewAvailable

关于谷歌地图中的javascript变量不可用,太困惑了!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5936573/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com