从Javascript/Geocoder.geocode()获取经度和纬度并使用它与PHP
我需要从地址获取经纬度,使用谷歌地图,并用php操纵它。从Javascript/Geocoder.geocode()获取经度和纬度并使用它与PHP
我用这样一个https://developers.google.com/maps/documentation/javascript/examples/geocoding-simple代码,具有该部分:
function codeAddress() {
var address = document.getElementById('address').value;
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
}
,我已经添加了变数纬度和经度(按照this question中的说明现在,我需要使用变量我已经在Java脚本中的PHP脚本创建的。
我新手到JavaScript,因此,我很抱歉,如果这是一个简单的问题。
一个简单的方法是使用基于3210的ajax。不要忘记下载/包含图书馆。
$.ajax({
type:"POST",
url:"yourscript.php",
data: {type:getlatlong,latitude:latitude,longitude:longitude},
success: function(){
alert('sent');
}
});
在你的PHP,您可以访问的信息:
if ($_SERVER["REQUEST_METHOD"]=="POST") {
if ($_POST["type"]=="getlatlong") {
$latitude = $_POST["latitude"];
$longitude = $_POST["longitude"];
...
}
Thankyou Vizvi,我正在努力使这项工作。我的websit是一个WordPress的,并且总是有post方法的问题,但我想你的解决方案将会很完美。谢谢! – 2014-09-11 12:10:16
通过tye的方式,有没有办法在$ .ajax()中使用当前的url? – 2014-09-11 12:18:54
当前网址,即路径中的PHP文件的含义?你可以使用'dirname(__ FILE __)',但这将只适用于普通的PHP脚本,而不适用于javascript文件。你也可以使用'get_bloginfo('wpurl')'WP函数来获取wordpress基目录,并修改它以包含你的PHP脚本。我不是很喜欢wordpress,对不起:) – 2014-09-11 18:56:36
我认为你需要在PHP的script.php JavaScript变量是用于访问您可以使用GET或POST方法数据服务器端语言。你可以简单地得到这种方式,首先分配的JavaScript变量来隐藏文本字段,并使用GET或POST method.You可以将JavaScript变量这样
<form action="yourphp.php" method="post"> <input type="hidden" value="latitude" name="latitude"> <input type="hidden" value="longitude " name="longitude"> </form>
在你的PHP文件访问数据:
$latitude=$_POST['latitude'] $longitude=$_POST['longitude']
谢谢user2804362。我应该如何连接这个javascript中创建的变量latitude和longitde? – 2014-09-11 12:11:53
如果你只是想打印出坐标到您的网页,(为您的''例子说明)你可以使用JavaScript来做到这一点,不需要使用PHP。你能澄清一下你需要将这些协议传递给PHP吗? – duncan 2014-09-11 08:28:13
我不是简单地打印出坐标,这是保持简单问题的一个例子。我需要发送坐标到setcookie()和一个外部程序来处理它并给出一个输出。这很容易,我没有任何问题可以用PHP来完成,为什么我想要传递变量。 – 2014-09-11 13:32:09
@duncan我编辑了这个问题,希望现在好一点。 – 2014-09-11 15:52:03