Получить API Карт Google на PHP

Я никогда не был уверен в API. Мне удалось получить API на веб-странице с помощью jQuery, но теперь мне нужно декодировать местоположение lat и lng ТОЛЬКО следующего json (https://maps.googleapis.com/maps/api/geocode/json?address=via%20pascal%2033/2%2042123%20reggio%20emilia&key=) с помощью PHP и получения двух данных как vars:

{
"results" : [
  {
     "address_components" : [
        {
           "long_name" : "2",
           "short_name" : "2",
           "types" : [ "street_number" ]
        },
        {
           "long_name" : "Via Blaise Pascal",
           "short_name" : "Via Blaise Pascal",
           "types" : [ "route" ]
        },
        {
           "long_name" : "Reggio Emilia",
           "short_name" : "Reggio Emilia",
           "types" : [ "locality", "political" ]
        },
        {
           "long_name" : "Reggio nell'Emilia",
           "short_name" : "Reggio nell'Emilia",
           "types" : [ "administrative_area_level_3", "political" ]
        },
        {
           "long_name" : "Provincia di Reggio Emilia",
           "short_name" : "RE",
           "types" : [ "administrative_area_level_2", "political" ]
        },
        {
           "long_name" : "Emilia-Romagna",
           "short_name" : "Emilia-Romagna",
           "types" : [ "administrative_area_level_1", "political" ]
        },
        {
           "long_name" : "Italia",
           "short_name" : "IT",
           "types" : [ "country", "political" ]
        },
        {
           "long_name" : "42123",
           "short_name" : "42123",
           "types" : [ "postal_code" ]
        }
     ],
     "formatted_address" : "Via Blaise Pascal, 2, 42123 Reggio Emilia RE, 
Italia",
     "geometry" : {
        "location" : {
           "lat" : 44.6666003,
           "lng" : 10.5960504
        },
        "location_type" : "ROOFTOP",
        "viewport" : {
           "northeast" : {
              "lat" : 44.6679492802915,
              "lng" : 10.5973993802915
           },
           "southwest" : {
              "lat" : 44.6652513197085,
              "lng" : 10.5947014197085
           }
        }
     },
     "partial_match" : true,
     "place_id" : "ChIJWaiGeqUcgEcR9l6qwloEWgo",
     "types" : [ "street_address" ]
  }
],
"status" : "OK"
}

В конце концов, мне нужно иметь возможность отображать пользователю:

"Широта - $ lat, а долгота - $ lng"

Спасибо

Я никогда раньше не слышал термина «API-декодирование». Если вы спрашиваете, как декодировать JSON в PHP, ответьте json_decode ().

Álvaro González 08.06.2018 19:36

Да, это то, что я имею в виду, и я пробовал использовать json-декодирование, но не смог решить свою проблему, я застрял в декодировании только lat e lng, поэтому просто json_decode ($ datalink) мне не подходит. Кстати, спасибо за исправление.

skebby 08.06.2018 20:20

Декодирование JSON является обязательным, и если вы не используете json_decode(), вам придется найти сторонний декодер JSON или свернуть свой собственный.

Álvaro González 09.06.2018 15:27
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
3
342
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте этот код, если вам нужна только последняя точка результата.

$myJsonData = file_get_contents("https://maps.googleapis.com/maps/api/geocode/json?address=via%20pascal%2033/2%2042123%20reggio%20emilia&key = ");
$myArrayData = json_decode($myJsonData, 1);
foreach($myArrayData['results'] as $myItem){    
$lat = $myItem['geometry']['location']['lat'];
$lng = $myItem['geometry']['location']['lng'];
}
printf("Latitude is %s and longitude is %s", $lat, $lng);

Просто отлично! Большое спасибо.

skebby 08.06.2018 20:53

Добро пожаловать. Если вам нужны широта / долгота всех результатов, просто соберите широту / долготу в массив в foreach. Удачи!

Dell 08.06.2018 20:59

Другие вопросы по теме