Попытка получить свойство необъектной геолокации Google API

Я работаю, чтобы получить широту и долготу от карт Google через API геолокации. Я пробовал много раз, но всегда показывает эту ошибку:

Попытка получить свойство необъекта в C: \ wamp64 \ www \ index3.php в строке 16

Проблема в том, что я не могу получить информацию от $url поэтому, не может получить широту и долготу.

Я изменил свой код, и теперь он есть, но все еще без работы.

<php

$address = urlencode('BTM 2nd Stage,Bengaluru,Karnataka,560076');
$url = "https://maps.googleapis.com/maps/api/geocode/json?address=$address&key=*************************************";$json = file_get_contents($url); // I tried with the @ symbol and without it

$data=json_decode($json);

echo ($data->results[0]->geometry->location->lat);

?>

А также я использовал это:

<php
$address = 'BTM 2nd Stage,Bengaluru,Karnataka,560076';
$encode = urlencode($address);
$key = "insert key here";
$url = "https://maps.googleapis.com/maps/api/geocode/json?address={$encode}&key={$key}";

$json = file_get_contents($url); // I tried with the @ symbol and without it
$data = json_decode($json);

echo "Latitud".($data->results[0]->geometry->location->lat);

?>

Без символа @ у меня есть эта строка ошибок

Предупреждение: file_get_contents () был отключен по соображениям безопасности в […] […] онлайн 8

-1

Решение

менять HTTP
в HTTPS в вашем запросе URL.

0

Другие решения

Как Abrucius, вы можете использовать HTTPS, иначе Google отклонит запрос. Вы также должны закодировать адрес, иначе вы получите ошибку «Неверный запрос».

<?php
$address = 'BTM 2nd Stage,Bengaluru,Karnataka,560076';
$encode = urlencode($address);
$key = "insert key here";
$url = "https://maps.googleapis.com/maps/api/geocode/json?address={$encode}&key={$key}";

$json = file_get_contents($url);
$data = json_decode($json);

echo ($data->results[0]->geometry->location->lat);

Выходы: 12.9082396

0

заменить следующий код

    $address = 'BTM 2nd Stage,Bengaluru,Karnataka,560076';
$url = "http://maps.googleapis.com/maps/api/geocode/json?address=$address&key=AIzaSyDjWI3J9CNlANoB5PXNKq3nz1ZbYeOrNGE";

в

 $address = urlencode('BTM 2nd Stage,Bengaluru,Karnataka,560076');
$url = "https://maps.googleapis.com/maps/api/geocode/json?address=$address&key=AIzaSyDjWI3J9CNlANoB5PXNKq3nz1ZbYeOrNGE";
0

Вы предоставили http в URL, это должно быть https, Попробуйте приведенный ниже код, который поможет вам. Вы должны использовать urlencode() потому что api не позволит места в адресе, поэтому вы должны кодировать.

$address = 'BTM 2nd Stage,Bengaluru,Karnataka,560076';
$address = urlencode($address);

$url = "https://maps.google.com/maps/api/geocode/json?address={$address}&key=***************************";

$resp_json = file_get_contents($url);

$resp = json_decode($resp_json, true);
echo "<pre>";print_r($resp["results"][0]['geometry']['location']['lat']);

Попробуйте этот код будет работать наверняка

0

Ответ WillParky93, кажется, работает нормально для меня. Может быть, попробуйте перейти по следующей ссылке, чтобы разрешить https оболочки:

Как заставить file_get_contents () работать с HTTPS?

…или опубликуйте полученную ошибку, чтобы мы могли помочь вам

0

Я только что решил эту проблему, я получил эту ошибку из-за конфигурации прокси. Я тестировал сеть с настройкой прокси. Таким образом, прокси не позволяет мне соединиться с базой данных Google. Тогда я попытался соединиться с другой сетью, и это работало отлично. Спасибо, ребята, за вашу помощь!

0
По вопросам рекламы [email protected]