Как получить полный адрес по широте и долготе с помощью curl php?

я хочу получить адрес по широте и долготе, но я хочу использовать завиток. Без завитка работает на локальном хосте нормально. Но когда я запускаю его на сервере.

показывая ошибку эта ошибка: -

file_get_contents() [function.file-get-contents]: оболочка https:// отключена в конфигурации сервера с помощью параметра allow_url_fopen=0.

Итак, решил, теперь мне нужно получить адрес с помощью curl .

Может ли кто-нибудь помочь мне, как добиться этой функциональности. Я пробовал: -

$latitude= 30.9003971459;
$longitude= 77.0072737194;
$url = 'https://maps.google.com/maps/api/geocode/json?latlng='.trim($latitude).','.trim($longitude).'&key=XXXXX';
$curl = curl_init();

person kunal    schedule 01.08.2017    source источник
comment
Возможный дубликат конфигурации сервера с помощью allow_url_fopen=0 в   -  person hyubs    schedule 01.08.2017
comment
но мой вопрос отличается, пожалуйста, посмотрите, прежде чем дублировать его   -  person kunal    schedule 01.08.2017


Ответы (1)


Кажется, мне нужно работать... после выполнения URL-адреса (CURL_EXEC) вам нужно декодировать возвращаемое значение JSON. Я просто выбрал отформатированный адрес в этом образце

<?php
$url="https://maps.google.com/maps/api/geocode/json?latlng=51.451411,3.566113&key=AIzaSyAgo83mZXhQCFzF2Y3pQYJUC1ivAXKwiX4";
$curl_return=curl_get($url);

$obj=json_decode($curl_return);

echo $obj->results[0]->formatted_address;

function curl_get($url,  array $options = array())
{
    $defaults = array(
        CURLOPT_URL => $url,
        CURLOPT_HEADER => 0,
        CURLOPT_RETURNTRANSFER => TRUE,
        CURLOPT_TIMEOUT => 4
    );

    $ch = curl_init();
    curl_setopt_array($ch, ($options + $defaults));
    if( ! $result = curl_exec($ch))
    {
        trigger_error(curl_error($ch));
    }
    curl_close($ch);
    return $result;
}
?>
person OfiserChris    schedule 01.08.2017
comment
Вы использовали ключ API, он общедоступен? - person Abbas; 16.01.2018
comment
Я использую ключ API - person OfiserChris; 20.01.2018