На моем сайте я хочу получить широту и долготу заданного пин-кода или почтового кода. Если я дам 680721
качестве пин-кода или почтового кода, тогда я хочу получить его соответствующую широту и долготу, используя php-код. Как я могу это сделать? Если это возможно в PHP? У меня есть php-код, чтобы получить широту и долготу заданного имени места.
$Url='http://maps.googleapis.com/maps/api/geocode/json?address='.$exp_pjctloc[$i].'&sensor=false'; if (!function_exists('curl_init')){ die('Sorry cURL is not installed!'); } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $Url); curl_setopt($ch, CURLOPT_REFERER, "http://www.example.org/yay.htm"); curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 10); $output = curl_exec($ch); curl_close($ch); $search_data = json_decode($output); $lat = $search_data->results[0]->geometry->location->lat; $lng = $search_data->results[0]->geometry->location->lng;
Но как я могу получить его, используя пин-код или почтовый индекс?
Это сработало для меня:
$ zip = 94043; $ site = file_get_contents ('http://geocoder.ca/?postal='.$zip, false, NULL, 1000, 1000); $ goods = strstr ($ site, 'GPoint ('); // отрезать первую часть до $ end = strpos ($ goods, ')'); // конечная скобка координаты $ cords = substr ($ goods, 7, $ end - 7); // возвращает строку только с $ array = explode (',', $ cords); // конвертировать строку в массив echo "<pre>"; print_r ($ массив); // выводим массив для проверки
Ниже код работал для меня
<?php $zipcode="92604"; $url = "http://maps.googleapis.com/maps/api/geocode/json?address=".$zipcode."&sensor=false"; $details=file_get_contents($url); $result = json_decode($details,true); $lat=$result['results'][0]['geometry']['location']['lat']; $lng=$result['results'][0]['geometry']['location']['lng']; echo "Latitude :" .$lat; echo '<br>'; echo "Longitude :" .$lng; ?>