3

例としてhttp://ubilabs.github.com/geocomplete/examples/draggable.htmlを使用します。

jQuery("#geocomplete").bind("geocode:dragged", function(event, latLng){
        jQuery("input[name=lat]").val(latLng.lat());
        jQuery("input[name=lng]").val(latLng.lng());            
    });

マーカーをドラッグした後、緯度経度の形式でマーカーの位置を取得できます。しかし、ドラッグした後、マーカーの現在の位置を取得できません。

ドラッグした後、マーカーの現在の位置で自分の場所のテキスト ボックスを更新したいと考えています。

4

3 に答える 3

1

これは 100% 完璧な解決策ではないかもしれませんが、私も同じ問題を抱えていました。これは一種の回避策です。

$("#geocomplete").bind("geocode:dragged", function(event, latLng){          
$("input[name=lat]").val(latLng.lat());
$("input[name=lng]").val(latLng.lng()); 
$("#geocomplete").geocomplete("find", latLng.toString());
});

ここでの唯一の問題は、オートコンプリートがここで再初期化されているため、マップがデフォルトの zom​​m サイズに設定されていることです。

これが役立つことを願っています

于 2013-01-31T13:45:50.027 に答える
0

これが同じ問題かどうかはわかりませんが、複数の「検索」を実行すると、私の「検索」も間違った結果を返しました。後続の検索で「境界」が設定され、間違った結果が返されるためと思われます。

回避策として、次の行を追加して、「jquery.geocomplete.js」ファイルを次のように変更しました。

request.bounds = this.options.bounds;

この行の直前 (352):

this.geocoder.geocode(request, $.proxy(this.handleGeocode, this));

その後、検索は通常どおりに機能するはずです。

$("#geocomplete").geocomplete("find", latLng.toString());
于 2016-11-03T11:56:04.753 に答える