0

特定の緯度と経度から最も近い近くの都市を取得する単純な php 関数があります。

function findCity($lat, $lng, $username) {
        $json_url = "http://api.geonames.org/findNearbyPlaceNameJSON?lat=" . $lat . "&lng=" . $lng . "&username=" . $username;
        $json = file_get_contents($json_url);
        $json = str_replace('},

            ]', "}

            ]", $json);
        $data = json_decode($json);

        echo "<pre>";
    print_r($data);
    echo "</pre>";
    } 

このメソッドは、緯度: 51.992 および経度: 4.89 で次を返します。

stdClass Object
(
    [geonames] => Array
        (
            [0] => stdClass Object
                (
                    [countryName] => Netherlands
                    [adminCode1] => 11
                    [fclName] => city, village,...
                    [countryCode] => NL
                    [lng] => 4.876389
                    [fcodeName] => populated place
                    [distance] => 1.42349
                    [toponymName] => Langerak
                    [fcl] => P
                    [name] => Langerak
                    [fcode] => PPL
                    [geonameId] => 2751924
                    [lat] => 51.931667
                    [adminName1] => South Holland
                    [population] => 0
                )

        )

)

これは最も近い都市を返しますが、私はこのようなものを探しています。最も近い大都市のみが返される場所。これは可能ですか?または、これを解決する他の選択肢があります。Google Geocoding API について読みましたが、結果を表示するために Google マップを使用していないため、使用できません。(注: Geocoding API は、Google マップと組み合わせてのみ使用できます。マップ上に表示せずに結果をジオコーディングすることは禁止されています。 出典)

これは実際のプログラマーの問題ではないことはわかっていますが、geonames フォーラムはあまり活発ではないため、ここに投稿することにしました。

4

2 に答える 2