Определение координат расположения объекта, с помощью PHP (gMaps, Я.Карты)
Яндекс и Google карты, дают нам(веб-разработчикам) замечательную возможность, использовать их встроенный API для пометки объектов на карте с последующим прикреплением карты к новости или статье. Что уж говорить о динамических картах, неоспоримое удобство для навигации пользователей с просмотров всех расставленных нами объектов на них. Для всего этого существует JavaScript API, а как быть если информацию об объекте нужно получить средствами PHP?
Далее речь пойдет о получении координат объекта на карте по его адресу. Это может быть очень удобно, например такой подход можно использовать в объявлениях где пользователь указывает адрес, затем скрипт на PHP автоматически определяет координаты и ставит балун на карте с соотв. комментарием. Так же эту возможность можно использовать для определения координат большого числа разных объектов по им адресам, достаточно лишь поместить адреса в массив, а затем в цикле запросить координаты каждого объекта.
Приведу промеры кода для работы с API Яндекс карт:
$adress = "Москва, пр. Ленина, д. 100"; //адрес примера произвольный $key = "API_Ya_KEY"; //API ключ для работы с Яндекс картами $adress1=urlencode($adress); $url="http://geocode-maps.yandex.ru/1.x/?geocode=".$adress1."&key=".$key; $content=file_get_contents($url); // получаем страницу с координатами preg_match('/<pos>(.*?)<\/pos>/',$content,$point); // вырезаем нужные нам координаты $coordinaty=explode(' ',trim(strip_tags($point[1]))); //координаты объекта echo $coordinaty[0]; echo $coordinaty[1]; |
Стоит отметить, что запрос на Я.API вернет не просто координаты объекта, а целое множество полей в формате XML, содержащих информацию о всех найденных объектах со схожим адресом. Первым будет идти наиболее вероятное расположение, затем остальные.
Пример с использование Google Maps:
$adress = "Москва, пр. Ленина, д. 100"; //адрес примера произвольный $adress1=urlencode($adress); $url="http://maps.google.com/maps/geo?q=$adress1&sensor=false&output=csv&oe=utf8"; $content=file_get_contents($url); // получаем страницу с координатами $coordinaty=explode(',',trim(strip_tags($content))); //координаты объекта echo $coordinaty[2]; echo $coordinaty[3]; |
Где применить эту возможность думаю вы и сами уже решили, вариантов множество, осталось только оценить полезность данный возможности, предоставляемой нам API Яндекс и Google карт на практике.

Автор:







все понятно и просто, отличная тсатья спасибо))
В итог привидет к ошибки, поясню. данный скрипт без проблем определит координаты «омск, улицакоторойнету» поэтому надо проверять соответствие названий, проще всего делать это через simplexml