Google Maps SQL多个标记未显示
我正在尝试从SQL中获取多个标记 我的XML文件正在按照要求绘制所需信息,如下链接所示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
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的第一行,而不是我过滤过的其他行?我不知道这意味着什么,但听起来像是另一个问题。