Я хотел бы проанализировать данные из google maps geocode версии 3 через json. Я хотел бы получить детали, такие как locaityName, AdministrativeAreaName и код состояния. Могу ли я узнать, как разбирать эти данные? спасибо
PHP имеет json_decode () , который преобразует поток данных JSON в массив или объект PHP.
function getGoogleAddressCoordinates() { //using the google maps api to get the long and lat coordinates of addresss //using form post variables $address =trim($_POST['address']); $city = trim($_POST['city']); $state = trim($_POST['state']); //formats the address add '+' into space $address = str_replace( ' ', '+' ,$address); $city = str_replace( ' ', '+', $city); $address = preg_replace("[^A-Za-z0-9]", '+', $address ); //remove non alpha numeric chars such as extra spaces. $address_str = $address.',+'. $city.',+'.$state; $geo_url = "http://maps.google.com/maps/api/geocode/json?address=$address_str&sensor=false"; //echo $geo_url; //echo file_get_contents($geo_url); $json_result = json_decode(file_get_contents($geo_url)); $geo_result = $json_result->results[0]; $coordinates = $geo_result->geometry->location; //see if the it is locating the real address or just apox location, or in most cases a bad address if($geo_result->types[0] == 'street_address') $coordinates->valid_address = TRUE; else $coordinates->valid_address = FALSE; return $coordinates; }
Вы можете использовать функции json_encode
и json_decode
для анализа данных json.
Больше информации:
Использование библиотеки PHP PECL json
json_decode()
http://php.net/manual/en/function.json-encode.php
Просто совет, если функция не возвращает ничего, что означает, что в JSON есть синтаксическая ошибка, она не приведет к возникновению ошибок или журналов.