0

我有一个经度和纬度查找,可以很好地使用这样的 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调用,将搜索的经度和纬度存储到数据库中,然后提交表单并使用存储的经度和纬度查询数据库。不知何故,我认为必须有一种更有效的方法。

谢谢!斯科特

4

1 回答 1

1

嗨,斯科特,有一种使用 curl 的有效方法。

您可以像这样直接进行http调用

http://maps.google.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false

您必须将 2 个参数传递给 url 1. 地址 2. 传感器

享受!

  • 达塔
于 2012-05-02T11:35:40.187 回答