页面上显示的唯一内容是米色背景,平移箭头和放大/缩小栏,但没有别的
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
html, body,
#map-canvas {
height: 100%;
margin: 0;
padding: 0;
}
</style>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyC3lKBNm9jCGbUP8SH9j96S6AmUIRA2dPk">
</script>
<script type = "text/javascript" >
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","http://website.com/bustime/api/v1/getstops?key=555555&rt=CS&dir=Circ",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
var latitude = xmlDoc.getElementsByTagName("lat")[0].childNodes[0].nodeValue;
var longitude = xmlDoc.getElementsByTagName("lon")[0].childNodes[0].nodeValue;
function initialize(latitude, longitude) {
var myLatlng = new google.maps.LatLng(latitude,longitude);
var mapOptions = {
zoom: 15,
center: myLatlng
}
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
});
}
google.maps.event.addDomListener(window, 'load', function () {
initialize(latitude, longitude);
});
</script>
</head>
<body onLoad ="initialize(longitude, latitude)">
<div id="map-canvas"></div>
</body>
</html>
XML如下:
<bustime-response>
<stop>
<stpid>305</stpid>
<stpnm>12TH</stpnm>
<lat>33.996838209471</lat>
<lon>-56.008665</lon>
</stop>
</bustime-response>
我对这里的xml解析感到茫然,并且不知道我可能缺少什么。根据我正在使用的API文档&#34; API是一个使用HTTP / 1.1的Web服务。
如果我直接输入lat / long的数字,地图就可以工作,但是否则它不会
编辑:按Ctrl + shift + J后我得到的错误是:
Uncaught NetworkError:无法执行&#39;发送&#39; on&#39; XMLHttpRequest&#39;:无法加载&#39; http://trip.osu.edu/bustime/api/v1/getstops?key=Uw7ayuTAmaPDWnECG3khBLYd2&rt=CLS&dir=Circular&#39;。(匿名函数)@ map2.html:27
http://trip.osu.edu/bustime/api/v1/getstops?key=Uw7ayuTAmaPDWnECG3khBLYd2&rt=CLS&dir=Circular。 No&#39; Access-Control-Allow-Origin&#39;标头出现在请求的资源上。起源&#39; null&#39;因此不允许访问。
我改变了:
xmlhttp.open("GET","http://trip.osu.edu/bustime/api/v1/getstops?key=Uw7ayuTAmaPDWnECG3khBLYd2&rt=CLS&dir=Circular",true);
答案 0 :(得分:1)
我相信你的问题是你要两次初始化地图。使用google.maps.event.addDomListener
并使用正文onLoad ="initialize(longitude, latitude)"
所以,基本上,你的地图加载在没有正确加载的空白图层下面。
为避免竞争条件而采取的推荐方法是google.maps.event.addDomListener
...当我移除onLoad ="initialize(longitude, latitude)"
时,它适用于我。
答案 1 :(得分:0)
您正在尝试获取文件:
xmlhttp.open("GET","http://website.com/bustime/api/v1/getstops?key=555555&rt=CS&dir=Circ",false);
回复http errore 301 Moved Permanently