リモート サーバーから情報を要求している間、Google マップのカーソルを「待機」カーソルに変更しようとしています。これは海外のサーバーからの天気情報で、返ってくるまでに時間がかかることもあるので、ユーザーに何かが起こっていることを知ってもらいたいです。
ユーザーがマーカーまたはバウンディング ボックスをクリックすると、次の呼び出しを行ってデータを取得します。
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 の位置にない場合、カーソルが移動するまで「待機」から通常に変わりません。
カーソルがどのように/いつ更新されるかに関して、私が見逃している基本的なものがあると思います。任意の啓発をいただければ幸いです。
この動作はhttp://www.geoffschultz.org/weather_map_2.phpで Weather Charts/BBC In-shore Forecast やその他の多くの場所を選択することで確認できます。
-- ジェフ