Использование Google Map API для поиска координат точки по ее адресу.

Простой пример метода модели фреймворка Yii, для пооиска координат точки на карте по ее адресу. Используется Google Map API для поиска и CURL для обработки его результатов.

Одно маленькое замечание: частой проблемой при использовании поискового API - нессответствие кодировок. Рекомендую адрес который передается в метод searchPoint передавать посредством POST, так как в этом случае не будет бится кодировка (через GET бывают такие проблемы).
public function searchPoint($address=''){
 $key = Yii::app()->params['gmap'];
 $address = urldecode($address);

 $url = "http://maps.google.com/maps/geo?q={$address}&output=json&key={$key}"; 

 $ch = curl_init(); 

 curl_setopt($ch, CURLOPT_URL, $url); 
 curl_setopt($ch, CURLOPT_HEADER,0);
 curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

 $data = curl_exec($ch); 
 curl_close($ch);

 $data = CJSON::decode($data); 

 $coord = $data['Placemark'][0]['Point']['coordinates'];
 return array('lng'=>$coord[0],'lat'=>$coord[1]); 
}
Теги:
Google Map, API
Добавлено: 02 Мая 2018 18:33:04 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...