비슷한 지오 코더를 실행하는 방법이 있습니까? 그래서 당신은 하루에 2500 이상을 문의 할 수 있습니다

리키 T

이 코드는 완벽하게 작동하는 것 같지만 하루에 2500 개 이상의 요청을 처리 할 수 ​​없습니다. 나는 수만개의 기록을 가지고있다.
연결

<?php
$servername = "localhost";
$username = "searchdb";
$passwd = "mypass";
$dbname = "mydb";
$test_table = "update_lon_lat";
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $passwd);             passwd);`enter code here`
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

    $i = 0;
    $empty = "";

경도와 위도가 null 인 모든 레코드 선택

$stmt = $conn->prepare("SELECT client_id, address, city, state, zip FROM $test_table WHERE lat = :lat ");
$stmt->bindValue(':lat' , "$empty", PDO::PARAM_STR);
$stmt->execute();    

참이면 새로운 좌표를 계산하고 테이블에 씁니다.

    while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
        $i = $i + 1;
        $mapaddress = "";
        $client_id = $row['client_id'];
        $mapaddress =  ($row['address'] . ' ' . $row['city'] . ' ' .  $row['state'] . ' ' . $row['zip']);

아래의 의심스러운 코드 시작

        $address_holder = $mapaddress; // Google HQ
        $prepAddr = str_replace(' ','+',$address_holder);
        $geocode=file_get_contents('https://maps.google.com/maps/api/geocode/json?address='.$prepAddr.'&sensor=false');
        $output= json_decode($geocode);
        $lat_holder = $output->results[0]->geometry->location->lat;
        $longitude_holder = $output->results[0]->geometry->location->lng;

위의 의심스러운 코드 끝

$stmt2 = $conn->prepare("UPDATE $test_table SET longitude = :longitude, lat = :lat WHERE client_id = :client_id");
$stmt2->bindValue(':longitude' , "$longitude_holder", PDO::PARAM_STR);
$stmt2->bindValue(':lat' , "$lat_holder", PDO::PARAM_STR);
$stmt2->bindValue(':client_id' , "$client_id", PDO::PARAM_STR);
$stmt2->execute();

  echo $i . ' ' . $row['address'] . ' ' . $row['city'] . ', ' .            $row['state'] . ' ' . $row['zip'] . ' lon=' . $longitude_holder
. ' Lat=' . $lat_holder . '<br>'; 

}

echo "Records Updated = " . $i;

?>code here
다난 제이 바다 야

옵션 1
약간의 돈을 지출하여 더 높은 할당량을 잠금 해제 할 수 있습니다. https://developers.google.com/maps/documentation/geocoding/usage-limits#premium-usage-limits

옵션 2
사용 한도는 프로젝트별로 적용되므로 여러 프로젝트를 만들고 최대 허용 한도에 도달하면 client_id를 최대 할당량을 초과하지 않은 다른 프로젝트로 변경하면됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관