Col*_*old 2 php zipcode proximity
我在网上看过各种各样的"商店定位器"式解决方案,例如在特定邮政编码的给定半径范围内查找商店,并且他们有精美的地图显示最近的商店等等.许多使用Google地图或其他数据库,但许多还依赖于精确的纬度和经度转换等.但这对我的项目来说太过分了.
就我而言,我只是在后端处理订单(使用PHP),我已经有了所有供应商仓库的所有邮政编码列表.
我只是希望我的客户提供他们的邮政编码,并且只需一个电话我就可以找到离我的客户最近的仓库的分类清单.邮编很好 - 我不想打扰纬度和经度.
有任何想法吗?
你应该下载Popular Data的邮政编码数据库.
这样,您可以使用以下内容来计算距离.
function calc_distance($point1, $point2)
{
$radius = 3958; // Earth's radius (miles)
$deg_per_rad = 57.29578; // Number of degrees/radian (for conversion)
$distance = ($radius * pi() * sqrt(
($point1['lat'] - $point2['lat'])
* ($point1['lat'] - $point2['lat'])
+ cos($point1['lat'] / $deg_per_rad) // Convert these to
* cos($point2['lat'] / $deg_per_rad) // radians for cos()
* ($point1['long'] - $point2['long'])
* ($point1['long'] - $point2['long'])
) / 180);
return $distance; // Returned using the units used for $radius.
}
Run Code Online (Sandbox Code Playgroud)
上面的内容是从Adam Bellaire 在PHP中计算邮政编码之间距离的答案中偷来的.完成此计算后,您只需对结果进行排序即可.