移动google maps标记时触发php函数请求
放置标记时,我想调用一个php函数(在另一个文件中),将纬度和经度作为输入,并将结果输出到页面上的div中。因此,每当移动标记时,它都会用函数的最新结果更新div移动google maps标记时触发php函数请求,php,javascript,ajax,api,maps,Php,Javascript,Ajax,Api,Maps,放置标记时,我想调用一个php函数(在另一个文件中),将纬度和经度作为输入,并将结果输出到页面上的div中。因此,每当移动标记时,它都会用函数的最新结果更新div 我知道我需要javascript来完成这项工作,但我对它不太熟悉,希望您能提供帮助。您需要使用异步javascript和XML(称为AJAX)。关于这个主题的不错的教程可以在这里找到: 事实上,在阅读这些示例之后,您可能能够完成所描述的操作 首先,需要在JavaScript中创建XMLHttpRequest对象,如下所示: 然后阅读-
我知道我需要javascript来完成这项工作,但我对它不太熟悉,希望您能提供帮助。您需要使用异步javascript和XML(称为AJAX)。关于这个主题的不错的教程可以在这里找到: 事实上,在阅读这些示例之后,您可能能够完成所描述的操作
其余的只需按照教程进行操作,就可以了。你真的需要一个教程来学习——javascript很容易复制/粘贴和编辑:D你需要使用异步javascript和XML(称为AJAX)。关于这个主题的不错的教程可以在这里找到: 事实上,在阅读这些示例之后,您可能能够完成所描述的操作
其余的只需按照教程进行操作,就可以了。你真的需要一个教程来学习——javascript很容易复制/粘贴和编辑:D这里有一个例子,当一个标记被添加到地图上或被拖动时,使用jQuery触发HTTP GET。请求的结果放在id为“outputdiv”的div中
更新以回答注释:回调函数的latlng参数是一个对象,您可以在其中使用lat()和lng()来检索各个值。有关详细信息,请参阅。下面是一个示例,使用jQuery在将标记添加到地图时以及在拖动标记时触发HTTP GET。请求的结果放在id为“outputdiv”的div中
更新以回答注释:回调函数的latlng参数是一个对象,您可以在其中使用lat()和lng()来检索各个值。有关详细信息,请参阅。谢谢。我回家后一定会试试的。非常感谢您的帮助和努力。这可能很简单,但我如何区分纬度和经度坐标呢?因此,我假设必须将对test.php的调用更改为:load(“test.php?lat=“+lat.toUrlValue()+”&lng=“+lng.toUrlValue());听起来对吗?谢谢你。我回家后一定会试试的。非常感谢您的帮助和努力。这可能很简单,但我如何区分纬度和经度坐标呢?因此,我假设必须将对test.php的调用更改为:load(“test.php?lat=“+lat.toUrlValue()+”&lng=“+lng.toUrlValue());听起来是这样吗?
// create and init map (make sure to have a div element with id "map")
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
// this is the marker you want to track
var marker = new GMarker(new GLatLng(37.4419, -122.1419));
map.addOverlay(marker);
// create function to be executed on add/end of drag
var changeCallback = function(latlng) {
// do HTTP GET to execute PHP function in file, with coordinate
// as parameter and put result in div with id "outputdiv"
$("#outputdiv").load("test.php?latlng=" + latlng.toUrlValue());
};
// add listener triggered whenever drag of marker has ended
GEvent.addListener(marker, "dragend", changeCallback);
// explicitly call when added
changeCallback(marker.getLatLng());