У меня есть Почтовый индекс в моей большой базе данных, которая содержит значения как SL5 9JH, LU1 3TQ и т.д.
Теперь, когда я вставляю выше почтового индекса на maps.google.com, он указывает на идеальное местоположение..
Мое требование похоже, я хочу передать почтовые индексы maps.google.com, и оно должно возвратить связанную широту и долготу того резкого местоположения, которое я хочу сохранить в своей базе данных.
Так, по всей вероятности должен быть некоторый JavaScript для этого... Если у кого-либо есть другая идея относительно того, обеспечьте ее..
Заранее спасибо...
Технический термин для описываемого вами процесса называется обратное геокодирование . Google предлагает Веб-службу геокодирования Google Новая рабочая ссылка для геокодирования Google , где вы можете выполнять обратное геокодирование на стороне сервера, а не в JavaScript на стороне клиента.
Например, если вы попробуете следующие URL-адреса в своем браузере, вы вернете широту и долготу почтового индекса, переданного в параметре q
, в формате CSV:
http://maps.google.com/maps/geo?q=SL59JH,+UK&output=csv&sensor=false
http://maps.google.com/maps/geo?q=LU13TQ,+UK&output=csv&sensor=false
Вот как вы сможет изменить геокодирование ваших почтовых индексов в php, например:
$url = 'http://maps.google.com/maps/geo?q=SL59JH,+UK&output=csv&sensor=false';
$data = @file_get_contents($url);
$result = explode(",", $data);
echo $result[0]; // status code
echo $result[1]; // accuracy
echo $result[2]; // latitude
echo $result[3]; // longitude
Обратите внимание, что, как Пекка предложил в другом ответе , Условия использования API Карт Google кажутся запретить хранение результатов , если только хранилище не действует как кеш для данных, которые будут использоваться в Google Maps. Вы можете связаться с Google и узнать о Google Maps API Premier , чтобы получить более гибкие условия использования в соответствии с вашими требованиями к геокодированию.
API геокодирования Google делает это, хотя, если я правильно помню, их условия обслуживания запрещают локальное хранение результатов геокодирования.
Ordnance Survey выпустила почтовые индексы по лицензии Creative Commons (CC-BY v3, IIRC). Было бы гораздо менее хлопотно (и гораздо более понятно с юридической точки зрения) использовать эту лицензию.
Есть даже версия с координатами WGS84 (a.k.a. GPS), отзеркаленная mySociety