我有一个网站,检查用户的ip地址在许多在线数据库,并获得与纬度和经度的回应。
下面是一个示例:
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。任何指导或参考都将非常感谢。
发布于 2013-07-27 21:03:28
您无法确定哪个坐标是最好的。任何值都可能是正确的,即使是看起来无关紧要的值。更有可能的是,没有一个值是正确的。
如果您想选择一个值,请随机选择一个值。它和其他任何东西一样好。
另一种选择是对所有值应用某种算法(例如,记录最多的城市的平均值或记录最多的城市半径为10英里的平均值)。
https://stackoverflow.com/questions/17897954
复制相似问题