Определение координат расположения объекта, с помощью PHP (gMaps, Я.Карты)

Author Роман Чернышов    Category PHP     Tags , , , Комментариев 2 Дата 19 Апр

Яндекс и 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 карт на практике.

2 комментария to “Определение координат расположения объекта, с помощью PHP (gMaps, Я.Карты)”

  • Александр 30.04.2012 в 2:13 пп

    все понятно и просто, отличная тсатья спасибо))

  • имя 08.08.2012 в 7:37 пп

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

Оставить комментарий

Об авторе и блоге Чернышов Р.В. Сертификат. Топ 10% лучших фрилансеров, Чернышов Р.В.

Друзья, всем привет!

Меня зовут Роман Чернышов, я веб-разработчик и данный блог посвящен моим проектам и бизнесу.

Тут я делюсь личным опытом
и отвечаю на вопросы. Я всегда готов к сотрудничеству с вами, готов реализовать проект любой сложности(опыт 10+ лет).

Если у вас есть вопросы, предложения, вы хотите совершить покупку моих решений или заказать работу, пишите!



Последние вопросы
Последние комментарии
Меню

Archive

Качественный хостинг сайтов CMS Для сайта услуг хостинга