移动google maps标记时触发php函数请求

移动google maps标记时触发php函数请求,php,javascript,ajax,api,maps,Php,Javascript,Ajax,Api,Maps,放置标记时,我想调用一个php函数(在另一个文件中),将纬度和经度作为输入,并将结果输出到页面上的div中。因此,每当移动标记时,它都会用函数的最新结果更新div 我知道我需要javascript来完成这项工作,但我对它不太熟悉,希望您能提供帮助。您需要使用异步javascript和XML(称为AJAX)。关于这个主题的不错的教程可以在这里找到: 事实上,在阅读这些示例之后,您可能能够完成所描述的操作 首先,需要在JavaScript中创建XMLHttpRequest对象,如下所示: 然后阅读-

放置标记时,我想调用一个php函数(在另一个文件中),将纬度和经度作为输入,并将结果输出到页面上的div中。因此,每当移动标记时,它都会用函数的最新结果更新div


我知道我需要javascript来完成这项工作,但我对它不太熟悉,希望您能提供帮助。

您需要使用异步javascript和XML(称为AJAX)。关于这个主题的不错的教程可以在这里找到:

事实上,在阅读这些示例之后,您可能能够完成所描述的操作

  • 首先,需要在JavaScript中创建XMLHttpRequest对象,如下所示:
  • 然后阅读-这是您指定服务器(您要调用的函数)响应时发生的情况的地方
  • 然后将请求发送到函数,您应该能够通过使用GET或POST请求查询php文件来调用该函数:
    其余的只需按照教程进行操作,就可以了。你真的需要一个教程来学习——javascript很容易复制/粘贴和编辑:D

    你需要使用异步javascript和XML(称为AJAX)。关于这个主题的不错的教程可以在这里找到:

    事实上,在阅读这些示例之后,您可能能够完成所描述的操作

  • 首先,需要在JavaScript中创建XMLHttpRequest对象,如下所示:
  • 然后阅读-这是您指定服务器(您要调用的函数)响应时发生的情况的地方
  • 然后将请求发送到函数,您应该能够通过使用GET或POST请求查询php文件来调用该函数:
    其余的只需按照教程进行操作,就可以了。你真的需要一个教程来学习——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());