İlk olarak, tüm zipkodların ve bunlara karşılık gelen enlem ve boylamların bir veritabanına ihtiyacınız olacaktır. Avustralya'da, bunlardan sadece birkaç bin tanesi var (ve bu bilgiler kolayca elde edilebilir), ancak ABD'de muhtemelen daha zor bir görev olduğunu düşünüyorum.
İkincisi, nerede olduğunuzu bildiğiniz ve aradığınız yarıçapı bildiğiniz sürece, bu yarıçapa düşen tüm zipkodları araştırabilirsiniz. aşağıdaki gibi PHP ile yazılmış basit bir şey olacaktır: zipcodes içerir ve bunlara karşılık gelen enlem ve boylam koordinatları posta kodu veritabanı ile
function distanceFromTo($latitude1,$longitude1,$latitude2,$longitude2,$km){
$latitude1 = deg2rad($latitude1);
$longitude1 = deg2rad($longitude1);
$latitude2 = deg2rad($latitude2);
$longitude2 = deg2rad($longitude2);
$delta_latitude = $latitude2 - $latitude1;
$delta_longitude = $longitude2 - $longitude1;
$temp = pow(sin($delta_latitude/2.0),2) + cos($latitude1) * cos($latitude2) * pow(sin($delta_longitude/2.0),2);
$earth_radius = 3956;
$distance = $earth_radius * 2 * atan2(sqrt($temp),sqrt(1-$temp));
if ($km)
$distance = $distance * 1.609344;
return $distance;
}
Posta kodlarını hangi ülkede bulmaya çalışıyorsunuz? – Pedery
@Pedery. A: – AngryHacker