Google Maps V3中的奇怪光标行为

时间:2012-09-05 12:28:38

标签: javascript google-maps-api-3 cursor

我正在尝试将谷歌地图中的光标更改为“等待”光标,同时我从远程服务器请求信息。这是来自国际服务器的天气信息,有时可能需要很长时间才能返回,因此我希望用户知道某些事情正在发生。

用户点击标记或边界框,然后进行以下调用以获取数据:

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看到此行为。

- 杰夫

2 个答案:

答案 0 :(得分:1)

我还必须拖动或点击才能让光标在

后改回来

map.setOptions({draggableCursor: null});

我移动鼠标后立即使用此功能

map.setOptions({draggableCursor: ''});

答案 1 :(得分:0)

对于问题1,您需要将标记光标与地图光标分开设置。

Marker.setCursor("wait");

不确定InfoWindow的问题。