地理编码器谷歌地图经度和纬度查找
Posted
技术标签:
【中文标题】地理编码器谷歌地图经度和纬度查找【英文标题】:Geocoder google maps longitude and latitude lookup 【发布时间】:2012-05-02 11:21:07 【问题描述】:我有一个经度和纬度查找,可以很好地使用这样的 ajax 调用:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var geocoder = new google.maps.Geocoder();
var address = "<?php echo addslashes($_POST['street'].' '.$_POST['house_number'].', '.$_POST['postal_code'].', '.$_POST['city'].', '.$_POST['country']); ?>";
geocoder.geocode( 'address': address, function(results, status)
if (status == google.maps.GeocoderStatus.OK)
var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();
var request_key = '<?php echo $ajax_request_key; ?>';
var url = '<?php echo $settings['base_url'].'/site/templates/ajax/add_vacancy_latitude_and_longitude.php?vacancy_id='.$_POST['vacancy_id']; ?>';
//add longitude and latitude to database
$.post(url, this_latitude:latitude, this_longitude:longitude, this_request_key:request_key , function(data) );
);
</script>
但这仅适用于 ajax 调用。有没有办法我可以通过 http 请求来做到这一点,这样我就可以立即查询我的 mysql 数据库以查找附近的空缺,而无需进行第二次页面加载(例如,我有一个搜索表单,用户可以在其中输入他们的邮政编码,我想要在提交时立即将其邮政编码的经度和纬度与数据库进行比较。
我现在能想到的方法是阻止使用jquery提交并进行ajax调用,将搜索的经度和纬度存储到数据库中,然后提交表单并使用存储的经度和纬度查询数据库。不知何故,我认为必须有一种更有效的方法。
谢谢! 斯科特
【问题讨论】:
您可以尝试在php中使用curl,在页面加载之前您将拥有所有信息php.net/manual/en/book.curl.php 【参考方案1】:嗨,Scott,有一种使用 curl 的有效方法。
你可以像这样直接进行http调用
http://maps.google.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false
您必须将 2 个参数传递给 url 1. 地址 2. 传感器
享受吧!
达塔【讨论】:
谢谢!完美的;与 YamahaSY 评论中提到的 php curl 结合使用以上是关于地理编码器谷歌地图经度和纬度查找的主要内容,如果未能解决你的问题,请参考以下文章