0

ドラッグ可能なカーソルを待機カーソルに変更しようとしていますが、変更されません。次のコードは、ユーザーがマーカーまたは境界ボックスをクリックした後に呼び出されます。オブジェクトをクリックすると、カーソルが開いた手から閉じた手に移動します。URL リクエストが完了すると、ハンドはオープン ハンドに戻ります。場合によっては、URL 要求が完了するまでに数秒かかることがあります。「map.setOptions({draggableCursor:'wait'});」をそのままにしておくことに違いはありません。コードインまたはコメントアウトします。

私は何を間違っていますか?

-- ジェフ

function httpRequest(url)
{
map.setOptions({draggableCursor:'wait'});
var pageRequest = false; //variable to hold ajax object
/*@cc_on
   @if (@_jscript_version >= 5)
      try {
      pageRequest = new ActiveXObject("Msxml2.XMLHTTP")
      }
      catch (e){
         try {
         pageRequest = new ActiveXObject("Microsoft.XMLHTTP")
         }
         catch (e2){
         pageRequest = false
         }
      }
   @end
@*/

if (!pageRequest && typeof XMLHttpRequest != 'undefined')
   {pageRequest = new XMLHttpRequest();}

if (pageRequest)
    {       
       pageRequest.open('GET', url, false); //get page synchronously
       pageRequest.send(null);
       openInfoWindow(pageRequest, 0);
    }
map.setOptions({draggableCursor:null});

}
4

1 に答える 1

0

問題は、同期取得を行っていたことです。これにより、基本的にブラウザー全体が応答を待ってハングアップしました。これを非同期 ajax get に変更したところ、期待どおりにカーソルが待機カーソルに変わりました。

ただし、ajax の "success" 関数の 1 行目で、カーソルを通常のカーソル abd に戻し、応答を含む infoWindow を開きます。カーソルが infoWindow の外にある場合は、移動するまで待機カーソルを表示し続け、移動すると通常のカーソルに戻ります。カーソルが infoWindow の位置内にある場合は、infoWindow の外に移動するまで待機カーソルのままになります。これに関するアイデアはありますか?

-- ジェフ

于 2012-09-05T00:46:35.763 に答える