Menentukan OVER_QUERY_LIMIT dalam Google Maps API v3: Memperlahankan Permintaan dengan Javascript
Ralat OVER_QUERY_LIMIT kerap berlaku apabila membuat permintaan geokod yang berlebihan dalam Peta Google API v3. Untuk mengelakkan ralat ini, adalah penting untuk memperkenalkan jeda antara setiap permintaan untuk memperlahankan proses.
Berikut ialah kod asal:
<code class="javascript">function codeAddress(vPostCode) { if (geocoder) { geocoder.geocode( { 'address': "'" + vPostCode + "'"}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { // Handling success } else if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT) { // Handling OVER_QUERY_LIMIT error } else { // Handling other errors } }); } }</code>
Untuk melaksanakan jeda, kami boleh menggunakan perkara berikut kod:
<code class="javascript">function codeAddress(vPostCode) { if (geocoder) { while (wait) { /* Just wait. */ }; geocoder.geocode( { 'address': "'" + vPostCode + "'"}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { // Handling success } else if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT) { wait = true; setTimeout("wait = true", 2000); // Handling OVER_QUERY_LIMIT error } else { // Handling other errors } }); } }</code>
Dalam kod yang diubah suai ini, kami memperkenalkan pembolehubah tunggu untuk menjeda pelaksanaan apabila ralat OVER_QUERY_LIMIT berlaku. Tamat masa 2000 milisaat kemudian ditetapkan untuk menyambung semula pelaksanaan, memberikan kelewatan antara permintaan.
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan OVER_QUERY_LIMIT Ralat dalam API Peta Google v3 dengan Javascript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!