0

多くのオンライン データベースでユーザーの IP アドレスをチェックし、緯度と経度で応答を取得する Web サイトがあります。

以下に例を示します。

Array
(
    [0] => stdClass Object
        (
            [statusCode] => OK
            [statusMessage] => 
            [ipAddress] => 37.6.226.186
            [countryCode] => GR
            [countryName] => GREECE
            [regionName] => ATTIKI
            [cityName] => ATHENS
            [zipCode] => -
            [latitude] => 37.9795
            [longitude] => 23.7162
            [timeZone] => +03:00
        )

    [1] => stdClass Object
        (
            [ip] => 37.6.226.186
            [country_code] => GR
            [country_name] => Greece
            [region_code] => 
            [region_name] => 
            [city] => 
            [zipcode] => 
            [latitude] => 39
            [longitude] => 22
            [metro_code] => 
            [areacode] => 
        )

    [2] => stdClass Object
        (
            [source] => smart-ip.net
            [host] => 37.6.226.186
            [lang] => en
            [countryName] => Greece
            [countryCode] => GR
            [city] => 
            [region] => 
            [latitude] => 39.0000
            [longitude] => 22.0000
            [timezone] => 
        )

)

私は時々 1 つの応答が無関係な場所を示すために完全にオフになっている可能性があることに気付きました。

このような問題をどのように解決しますか? おそらく結果をループし、最も近い値を確認してから、1 つの応答を選択しますか? 私はPHPの後輩なので、これについてはわかりません。ガイダンスやリファレンスをいただければ幸いです。

4

1 に答える 1

1

どの座標が最適かを判断する方法はありません。無関係に見える値であっても、どのような値でも正しい可能性があります。多くの場合、どの値も正しくありません。

値を選択する場合は、ランダムに選択します。それは他のものと同じくらい良いです。

もう 1 つのオプションは、何らかのアルゴリズムをすべての値に適用することです (例: 最も多くの記録を持つ都市の値の平均、または最も多くの記録が半径 10 マイルに収まる値の平均)。

于 2013-07-27T13:03:27.997 に答える