使用jQuery ajax.get计算输入地址的谷歌距离和MySQL服务器的所有地址

问题描述

我想创建一个用户可以输入地址的网页,然后服务器将计算从输入地址到MySQL数据库中每个地址的距离。 我正在尝试使用ajax GET方法来做到这一点。 我有以下代码:

 

当我通过URL栏手动输入GET变量时,上面的代码块工作正常。 例如:

 http://www.example.com/find_distance.php?lat=123456&lng=234567 

但是,我想要一种方法,以便输入地址将通过Geocode自动转换为lat和lng。 我使用以下代码进行地理编码:

  function searchAddress(addr) { geocoder = new google.maps.Geocoder(); geocoder.geocode({address:addr}, function(result){ loc = result[0].geometry.location; }); return loc; } 

我正在尝试使用下面的ajax get方法:但它似乎并不像我想要的那样工作:

  var data = 'lat='+loc.lat()+'&lng='+loc.lng(); $.ajax({ url:'find_distance.php', type:'GET', data: data, cache:false, complete:function(){alert('Complete');}, success:function(){alert('success, '+data);} }); } 

它似乎不起作用。 我是否必须以某种方式告诉PHP代码在PHP代码部分再次运行?

尝试对象表示法像这样

  var data = {'lat':loc.lat(),'lng':loc.lng()}; $.ajax({ url:'find_distance.php', type:'GET', data: data, cache:false, complete:function(){alert('Complete');}, success:function(){alert('success, '+data);} }); }