我的大数据库中有Postcode,其中包含像SL5 9JH,LU1 3TQ等等的数据.
现在,当我粘贴上面的邮政编码maps.google.com它指向一个完美的位置..
我的要求就像我想将邮政编码传递给maps.google.com,它应该返回该位置的相关纬度和经度,我想存储在我的数据库中.
所以,最有可能应该有一些javascript …如果有人有另一个想法,请提供它..
提前致谢…
解决方法
您描述的过程的技术术语称为
reverse geocoding.Google提供
The Google Geocoding Web Service
New working Google Geocoding Link,您可以在服务器端进行反向地理编码,而不是客户端的JavaScript.
例如,如果您在浏览器中尝试以下URL,则可以以CSV格式返回q参数中传递的邮政编码的纬度和经度:
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
请注意,作为Pekka suggested in another answer,Google Maps API Terms of Use似乎是prohibit the storage of the results,除非该商店作为Google Maps中将使用的数据的缓存.您可能需要与Google联系,并询问Google Maps API Premier,为您的地理编码要求提供更灵活的使用条款.