Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图标记移动时更新mysql数据库_Javascript_Php_Mysql_Ajax - Fatal编程技术网

Javascript 谷歌地图标记移动时更新mysql数据库

Javascript 谷歌地图标记移动时更新mysql数据库,javascript,php,mysql,ajax,Javascript,Php,Mysql,Ajax,嗯,我有一个谷歌地图,所有的纬度和经度都来自数据库,它用标记显示每个位置。标记可移动。 现在,当我移动每个标记时,我想更新纬度和经度的db。可以使用php、javascript或Ajax吗。你能给我一个解决方案或建议吗?多谢各位 Javascript代码: <script type="text/javascript" src="jquery-1.4.4.min.js"></script> <script src="http://maps.google

嗯,我有一个谷歌地图,所有的纬度和经度都来自数据库,它用标记显示每个位置。标记可移动。

现在,当我移动每个标记时,我想更新纬度和经度的db。可以使用php、javascript或Ajax吗。你能给我一个解决方案或建议吗?多谢各位

Javascript代码:

<script type="text/javascript" src="jquery-1.4.4.min.js"></script>        
<script src="http://maps.googleapis.com/maps/api/js?sensor=false" 
type="text/javascript"></script>
<script type="text/javascript" src="gmap3.js"></script>    

<script type="text/javascript">
  $(function(){
    $('#map').gmap3({
      map:{
        options:{
          center:[23.709920999999998,90.40714299999999],
          zoom: 15
        }
      },
      marker:{
        values:[            
        <?php
        $sql = mysql_query("select * from parkings where userid != '0'");
        while($res = mysql_fetch_array($sql)){
                            $id = $res['locId'];
            $lat = $res['latitude'];
            $long = $res['longitude'];              
            ?>
            {address:"<?php echo $lat;?>,<?php echo $long;?>"},
            <?php
            }
        ?>                               
        ],
        options:{
          draggable: true
        },
        events: {
          click: function(marker, event, context){
            markerSelected(context.id);
          }
        }
      }
    });

    $("#bcolor").click(function(){
      var marker = $('#map').gmap3({get: $("#markerId .value").text() });
      marker.setIcon(marker.getIcon() ? "" : "http://maps.google.com/mapfiles
/marker_green.png");
    });

    $("#bremove").click(function(){
      $('#map').gmap3({clear: $("#markerId .value").text() });
      $("#data").hide();
      $("#title").show();
    });

  });

  function markerSelected(id){
    var marker = $('#map').gmap3({get:id});

    $("#markerId .value").text(id);
    $("#latitude .value").text(marker.getPosition().lat());
    $("#longitude .value").text(marker.getPosition().lng());

    $("#data").show();
    $("#title").hide();
  }

</script>

$(函数(){
$('地图').gmap3({
地图:{
选项:{
中间:[23.709999998,90.4071429999999],
缩放:15
}
},
标记:{
价值:[

移动标记时,可以使用jQuery获得新的纬度和经度值

只需向包含以下值的标记添加一个ID:

<div id="latitude">
    <span class="label" id="gmap_latitude">Latitude : </span>
    <span class="value"></span>
</div>
<div id="longitude">
    <span class="label" id="gmap_longitude">Longitude : </span>
    <span class="value"></span>
</div>

纬度:
经度:
因此,您可以使用jQuery轻松地选择它们并获取它们的值


现在,为了更新数据库,我建议创建一个PHP脚本来更新数据库,并使用带有jQuery加载函数的AJAX调用(‎) 每次更新标记时。您都可以使用jQuery事件处理程序跟踪此情况。

好主意,但只需将侦听器添加到标记的删除事件中就更容易了,不是吗?@Theox,谢谢您的好主意!首先,每个lat和long都有唯一的Mysql数据库id(locId).所以我想我必须在标记移动时获取每个id。对吗?如何获取?我想你可以使用Pythonian 29033的想法来监听标记的丢弃事件。然后你可以获取移动标记的id,可能还有它的纬度/经度,并进行AJAX调用。@Theox我不理解Pythonian 29033的想法。现在如果我获取每个lat a的DB id值然后我想我可以更新数据库。你能告诉我怎么做吗?你的标记是可拖动的,所以当你删除它们时一定会有一个事件。例如:$(“.marker”).on(“dropout”,function(){});
<div id="latitude">
        <span class="label">Latitude : </span>
        <span class="value"></span>
      </div>
      <div id="longitude">
        <span class="label">Longitude : </span>
        <span class="value"></span>
      </div>
<div id="latitude">
    <span class="label" id="gmap_latitude">Latitude : </span>
    <span class="value"></span>
</div>
<div id="longitude">
    <span class="label" id="gmap_longitude">Longitude : </span>
    <span class="value"></span>
</div>