【发布时间】:2012-09-05 12:28:37
【问题描述】:
当我从远程服务器请求信息时,我正在尝试将我在谷歌地图中的光标更改为“等待”光标。这是来自国际服务器的天气信息,有时可能需要很长时间才能返回,所以我希望用户知道正在发生一些事情。
用户单击标记或边界框,然后我进行以下调用以获取数据:
map.setOptions({draggableCursor: "wait"});
$.ajax({
type:"GET",
dateType:"html",
url:url,
cache:false,
success:function(response){openInfoWindow(response, 1);},
error:function()
{
map.setOptions({draggableCursor: null});
displayMessage("badGet",0);
}
});;
function openInfoWindow(request, ignoreStatus)
{
map.setOptions({draggableCursor: null});
infoWindow = new InfoBox({maxWidth: 0, position: center, disableAutoPan: true});
}
我在 openInfoWindow 中做的第一件事是 map.setOptions({draggableCursor: null}),所以光标应该回到正常光标。之后,我打开一个带有结果的 infoWindow。
我觉得很奇怪的是:
1) 如果我将光标留在标记上或边界框内,它永远不会切换到等待光标。如果我将它移出标记或边界框之外,它会按预期工作。
2) 如果光标位于 infoWindow 出现的位置上,则光标会切换到等待光标,但直到我将光标移出 infoWindow 后才会切换回正常光标。
3) 当光标不在被点击的对象或infoWindow的位置时,直到光标移动后才会由“等待”变为正常。
我怀疑关于光标如何/何时更新,我缺少一些基本的东西。任何启发将不胜感激。
请注意,您可以通过选择 Weather Charts/BBC In-shore Forecast 和许多其他地方在 http://www.geoffschultz.org/weather_map_2.php 看到此行为。
-- 杰夫
【问题讨论】:
标签: javascript google-maps-api-3 cursor