我正在尝试将谷歌地图中的光标更改为“等待”光标,同时我从远程服务器请求信息。这是来自国际服务器的天气信息,有时可能需要很长时间才能返回,因此我希望用户知道某些事情正在发生。
用户点击标记或边界框,然后进行以下调用以获取数据:
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的位置上时,它不会从“等待”变为正常,直到移动光标。
我怀疑在光标更新的方式/时间方面我缺少一些基本的东西。任何启蒙都会受到赞赏。
请注意,您可以通过选择天气图/ BBC岸上预测和许多其他地方在http://www.geoffschultz.org/weather_map_2.php看到此行为。
- 杰夫
答案 0 :(得分:1)
我还必须拖动或点击才能让光标在
后改回来 map.setOptions({draggableCursor: null});
我移动鼠标后立即使用此功能
map.setOptions({draggableCursor: ''});
答案 1 :(得分:0)
对于问题1,您需要将标记光标与地图光标分开设置。
Marker.setCursor("wait");
不确定InfoWindow的问题。