lancer_serega
@lancer_serega
PHP Developer

ZF2 Модуль (или что угодно) для работы с Yandex|Google Map Api?

PHP - мигрирую с одной БД на другую. В новой БД, есть новое поле в таблице, с координатами геолокации объекта (адреса). При переносе нужно как то по названию адреса (или ближайшей реки/озера) получить координаты местности с помощью яндекса или гугла. (ну по крайней мере я так думаю сделать)
Как это реализовывается по другому (если вдруг я не правильно рассуждаю)?
Есть ли модуль для общения с API через пхп (проект на ZF2)
  • Вопрос задан
  • 242 просмотра
Решения вопроса 1
Immortal_pony
@Immortal_pony
function makeGoogleApiRequest($params)
    {
        $apiUrl = "https://maps.googleapis.com/maps/api/geocode/json";
        $context = stream_context_create(['http'=>['timeout'=>5]]);
        
        
        
        // Make request
        $response = json_decode(file_get_contents($apiUrl . "?" . http_build_query($params), false, $context)); 

        
        
        // Check response
        if (
            json_last_error() ||
            !isset($response->status) || 
            $response->status !== "OK" ||
            !isset($response->results[0]->place_id) || 
            !isset($response->results[0]->formatted_address) ||
            !isset($response->results[0]->address_components) ||           
            !isset($response->results[0]->geometry->location->lat) ||
            !isset($response->results[0]->geometry->location->lng)           
        ) {                
            throw new \UnexpectedValueException ("Google Api Request Failed");
        }
        
        
        
        return $response;
    }

   



    /* Пример использования */
    $place = makeGoogleApiRequest([
        'address' => "Москва, Лаврушинский пер, 10",
        'language' => "ru"
    ]);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы