谷歌地图根据输入重新加载标记

时间:2014-05-17 23:19:16

标签: javascript php google-maps

我正在尝试更新我的Google地图上的标记,该标记会在加载页面时根据用户的输入加载标记。例如,地图根据日期从xml加载标记,我的网页上有一个输入表单,当点击用户可以更改日期时,标记将根据所选日期重新加载。以下是我的代码: JavaScript -

  var finddate = document.getElementById('inputdate').value;

  jQuery.ajax({
    dataType :'xml', 
    type: 'GET',
    url : 'phps/xmltest.php?finddate='+finddate, 
    success:function(data){
    var markers = xml.documentElement.getElementsByTagName("marker");
    for (var i = 0; i < markers.length; i++) {
      var name = markers[i].getAttribute("name");
      var address = markers[i].getAttribute("address");
      var dt1 = markers[i].getAttribute("date1");
      var dt2 = markers[i].getAttribute("date2");
      var dt3 = markers[i].getAttribute("date3");
      var tm1 = markers[i].getAttribute("time1");
      var tm2 = markers[i].getAttribute("time2");
      var tm3 = markers[i].getAttribute("time3");
      var html = "<b>" + name + "</b> <br/>" + "Date of Yard Sale: " + dt1 + '&nbsp;' + tm1 + '&nbsp;' + dt2 + '&nbsp;' + tm2 + '&nbsp;' + dt3 + '&nbsp;' + tm3 + '&nbsp;' + "<br/>" + address;
      var point = new google.maps.LatLng(
          parseFloat(markers[i].getAttribute("lat")),
          parseFloat(markers[i].getAttribute("lng")));
      var marker = new google.maps.Marker({
        map: map,
        position: point,
        icon: CustomMarker
      });

      bindInfoWindow(marker, map, infoWindow, html);
    }
  }});

PHP -

   <?php


   // Check if we have parameters  being passed to the script through the URL
   if (isset($_GET["finddate"])) {


     $got = $_GET["finddate"];

     }

   if($got == "Today" || $got == "") { $date = date('m-d-Y');} else { $date = $got; }

   $dom = new DOMDocument("1.0");
   $node = $dom->createElement("markers");
  $parnode = $dom->appendChild($node);

   // Opens a connection to a MySQL server

 mysql_connect("localhost", "username", "PW");

 // Set the active MySQL database

$db_selected = mysql_select_db("Registration2");
 if (!$db_selected) {
    die ('Can\'t use db : ' . mysql_error());
 }

// Select all the rows in the markers table

$query = "SELECT * FROM REGISTERED2 WHERE DateONE = '$date' or DateTWO = '$date' or DateTHREE = '$date'";
$result = mysql_query($query);
if (!$result) {
  die('Invalid query: ' . mysql_error());
}

header("Content-type: text/xml");

// Iterate through the rows, adding XML nodes for each

while ($row = @mysql_fetch_assoc($result)){
  // ADD TO XML DOCUMENT NODE
  $node = $dom->createElement("marker");
  $newnode = $parnode->appendChild($node);
  $newnode->setAttribute("name",$row['Name']);
  $newnode->setAttribute("address", $row['Address']);
  $newnode->setAttribute("lat", $row['Latitude']);
  $newnode->setAttribute("lng", $row['Longitude']);
  $newnode->setAttribute("date1", $row['DateONE']);
  $newnode->setAttribute("date2", $row['DateTWO']);
  $newnode->setAttribute("date3", $row['DateTHREE']);
  $newnode->setAttribute("time1", $row['TimeONE']);
  $newnode->setAttribute("time2", $row['TimeTWO']);
  $newnode->setAttribute("time3", $row['TimeTHREE']);

}

echo $dom->saveXML();

?>

非常感谢任何帮助。

0 个答案:

没有答案