1

この機能に問題があります

public function getCoords($address){
    $coordinatesSplit=array(0=>0,1=>0);
    $request_url = $this->_baseUrl . "&oe=utf-8&q=" . urlencode($address);
        $xml = simplexml_load_file($request_url);      
        if (! empty($xml->Response)) {
            $point= $xml->Response->Placemark->Point;

                $coordinatesSplit = explode(",", $point->coordinates);
                // Format: Longitude, Latitude, Altitude

            }  
         $this->latitude = $coordinatesSplit[1];
         $this->longitude= $coordinatesSplit[0];   
}

うまく機能しますが、アドレスのサイクルに入れると、アドレスがスキップされることがあります(完全にランダムです)。サイクルを2回開始すると、結果がスキップされることもあれば、別の結果がスキップされることもあります..タイムアウトが原因だと思います。この機能の準備が整うまで待ってもいいですか?

アドバイスありがとう

4

1 に答える 1

1

sleep(5) で再試行し、問題ないようです。Google で調べたところ、1 秒あたり 20 件のクエリを実行できることがわかりました。usleep(500000) を追加したところ、完全に動作するようになりました

ありがとうアルファシン!

于 2012-07-02T17:31:52.577 に答える