Google Maps SQL多个标记未显示

Google Maps SQL多个标记未显示,sql,xml,google-maps,Sql,Xml,Google Maps,我正在尝试从SQL中获取多个标记 我的XML文件正在按照要求绘制所需信息,如下链接所示 http://e-track.biz/map/xml.php 来自链接的XML: <markers> <marker MSISDN="27827910119" Time="23:30:35" Date="2016-01-01" lat="-26.2716" lng="28.22" Radius="971"/> <marker MSISDN="27827910119" Tim

我正在尝试从SQL中获取多个标记

我的XML文件正在按照要求绘制所需信息,如下链接所示

  http://e-track.biz/map/xml.php
来自链接的XML:

<markers>
<marker MSISDN="27827910119" Time="23:30:35" Date="2016-01-01" lat="-26.2716" lng="28.22" Radius="971"/>
<marker MSISDN="27827910119" Time="07:31:41" Date="2015-11-05" lat="-26.3274" lng="28.2457" Radius="1460"/>
<marker MSISDN="27827910119" Time="07:31:40" Date="2015-11-05" lat="-26.3274" lng="28.2457" Radius="1460"/>
<marker MSISDN="27827910119" Time="10:13:01" Date="2015-10-09" lat="0" lng="0" Radius="0"/>
<marker MSISDN="27827910119" Time="16:38:19" Date="2015-10-04" lat="0" lng="0" Radius="0"/>
</markers>

像我在网站上看到的大多数其他问题一样,问题是它没有为我显示标记

这是我的HTML文件,用于尝试将标记下载到地图上,如图所示

 <!DOCTYPE html >
 <head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>PHP/MySQL & Google Maps Example</title>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCh0MbGxFVti1rJkypMgs8548dN4wr6oKY" 
        type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[

var customIcons = {
  restaurant: {
    icon: 'http://labs.google.com/ridefinder/images/mm_20_blue.png'
  },
  bar: {
    icon: 'http://labs.google.com/ridefinder/images/mm_20_red.png'
  }
};

function load() {
  var map = new google.maps.Map(document.getElementById("map"), {
    center: new google.maps.LatLng(47.6145, -122.3418),
    zoom: 13,
    mapTypeId: 'roadmap'
  });
  var infoWindow = new google.maps.InfoWindow;

  // Change this depending on the name of your PHP file
  downloadUrl("xml.php", function(data) {
    var xml = data.responseXML;
    var markers = xml.documentElement.getElementsByTagName("marker");
    for (var i = 0; i < markers.length; i++) {
      var MSISDN = markers[i].getAttribute("lbs_msisdn");
      var Time = markers[i].getAttribute("lbs_time");
      var Radius = markers[i].getAttribute("distance");
      var point = new google.maps.LatLng(
          parseFloat(markers[i].getAttribute("lat")),
          parseFloat(markers[i].getAttribute("lng")));
      var html = "<b>" + MSISDN + "</b> <br/>" + Time;
      var icon = customIcons[type] || {};
      var marker = new google.maps.Marker({
        map: map,
        position: point,
        icon: icon.icon
      });
      bindInfoWindow(marker, map, infoWindow, html);
    }
  });
}

function bindInfoWindow(marker, map, infoWindow, html) {
  google.maps.event.addListener(marker, 'click', function() {
    infoWindow.setContent(html);
    infoWindow.open(map, marker);
  });
}

function downloadUrl(url, callback) {
  var request = window.ActiveXObject ?
      new ActiveXObject('Microsoft.XMLHTTP') :
      new XMLHttpRequest;

  request.onreadystatechange = function() {
    if (request.readyState == 4) {
      request.onreadystatechange = doNothing;
      callback(request, request.status);
    }
  };

  request.open('GET', url, true);
  request.send(null);
}

   function doNothing() {}

    //]]>

          </script>

   </head>

    <body onload="load()">
     <div id="map" style="width: 500px; height: 300px"></div>
      </body>

 </html>

PHP/MySQL和googlemaps示例
//

我正在使用google maps教程中的示例,它显示地图,但不显示标记。如果您的代码行生成javascript错误(
Uncaught ReferenceError:type not defined
),请提供帮助

var icon = customIcons[type] || {};
如果不需要自定义图标,请删除该行并将标记的定义更改为:

var marker = new google.maps.Marker({
    map: map,
    position: point,
    }); 
(因为不会定义
图标

代码片段:

函数加载(){
var map=new google.maps.map(document.getElementById(“map”){
中心:新google.maps.LatLng(47.6145,-122.3418),
缩放:13,
mapTypeId:“路线图”
});
var infoWindow=new google.maps.infoWindow;
//下载URL(“SO_20160101.xml”,函数(数据){
var xml=parseXml(xmlData);//data.responseXML;
var markers=xml.documentElement.getElementsByTagName(“标记”);
var bounds=new google.maps.LatLngBounds();
对于(var i=0;i“+时间;
var marker=new google.maps.marker({
地图:地图,
位置:点,,
//图标:icon.icon
});
bindInfoWindow(标记、地图、infoWindow、html);
}
映射边界(bounds);
// });
}
函数bindInfoWindow(标记、地图、infoWindow、html){
google.maps.event.addListener(标记'click',函数(){
setContent(html);
信息窗口。打开(地图、标记);
});
}
函数下载url(url,回调){
var请求=window.ActiveXObject?
新的ActiveXObject('Microsoft.XMLHTTP'):
新的XMLHttpRequest;
request.onreadystatechange=函数(){
if(request.readyState==4){
request.onreadystatechange=doNothing;
回调(请求、请求、状态);
}
};
打开('GET',url,true);
请求发送(空);
}
函数doNothing(){}
函数parseXml(str){
if(window.ActiveXObject){
var doc=新的ActiveXObject('MicrosoftXMLDOM');
doc.loadXML(str);
退货单;
}else if(window.DOMParser){
return(newdomparser()).parseFromString(str,'text/xml');
}
}
google.maps.event.addDomListener(窗口“加载”,加载);
var xmlData=''
html,
身体,
#地图{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}


,地图的中心在华盛顿州西雅图。当我运行你的代码时,我遇到了一个javascript错误:
未捕获引用错误:类型未定义
很好,但现在它只给了我XML的第一行,而不是我过滤过的其他行?我不知道这意味着什么,但听起来像是另一个问题。