GoogleマップAPIを使用しています。 .keyup()で$ .getJSONを使用してアドレスをジオコーディングします。これは、キーの各タイプのマップ上の場所を示します。問題は、入力が速すぎるとフリーズすることです。これは、$ .getJSONがあまりにも短い時間でGoogle DBに何度もヒットするためです。私はdelay()を入れることを考えていた。コード上のものしかし、それは動作していないようです。ここにjQueryがあります:
$('#create_loc_input').keyup(function() {
var loc = $('#create_loc_input').val();
$.getJSON('http://localhost/app/search/search.json.php?loc='+loc, function(data) {
lat = data.results[0].geometry.location.lat;
lng = data.results[0].geometry.location.lng;
$.post('app/create_page/func/create_page_messages.func.php', {
lat:lat,
lng:lng,
},
function(data) {
$('#create_latlng').html(data);
codeAddress();
});
});
});
コードには明らかに多くのことがあります。しかし、ここではどのようにして3秒ごとにクエリを制限することができますか? sudoのkeyup()のようなものです。 $ .getJSONを3秒に1つのリクエストの最大値に制限すると良いでしょう。それも可能ですか?私は様々な場所で遅延()を試みました。しかし、これまで仕事をしていないものです。
[jQueryの中にキー押下の間の遅延アクション(http://stackoverflow.com/questions/2410937/delaying-actions-between-keypress-in-jquery)の可能重複 –