我学习到从谷歌地图上的XML文件和地点访问数据,但不断收到错误:“类型错误:XML是未定义 http://gm.boomeranginternet.co.uk/Default3.aspx 138线”谷歌地图,Ajax的XML数据
任何人都可以看到为什么这个错误正在发生?
var map;
var Data = []; // this array stores all data
var viewportMarkersKS2 = [];
var viewportMarkersP16 = [];
var viewportMarkersHealthcare = [];
var KS2MarkersVisible = document.getElementById('Checkbox1');
var P16MarkersVisible = document.getElementById('Checkbox2');
var HealthcareMarkersVisible = document.getElementById('Checkbox3');
var infoWindow;
var handle1, handle2;
var iconBlue = 'icons/blue-dot.png';
var iconGreen = 'icons/green-dot.png';
var iconPink = 'icons/pink-dot.png';
//var zoomLevel = map.getZoom();
// property and map center
var iniLat = 51.401997;
var iniLon = -1.276934;
var iniZoom = 15;
var ResetZoom = 13;
var maxZoom = 12;
var propertyLatLng = new google.maps.LatLng(iniLat, iniLon);
function initialize() {
// change map size dependent on useragent
detectBrowser()
// map options
var mapOptions = {
center: propertyLatLng,
zoom: iniZoom
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
//********************************************************************************************************************
//********************************************************************************************************************
//********************************************** *********************************************
//********************************************** SELECTED PROPERTY *********************************************
//********************************************** *********************************************
//********************************************************************************************************************
//********************************************************************************************************************
// add the property to the map
var propertyIcon = new google.maps.Marker({
position: propertyLatLng
});
// infoWindows
var infoWindowContent = '11 Derwent Road<br />Thatcham<br />Berkshire<br />RG19 3UT';
var infowindow = new google.maps.InfoWindow({
content: infoWindowContent
});
google.maps.event.addListener(propertyIcon, 'click', function() {
infowindow.open(map, propertyIcon);
});
// add markers to the map
propertyIcon.setMap(map);
// when user drags the map or zooms in/out, update list of airports in range
google.maps.event.addListenerOnce(map, 'bounds_changed', function() { showGetResultXml() });
google.maps.event.addListener(map, 'dragend', function() { showGetResultXml() });
google.maps.event.addListener(map, 'zoom_changed', function() { showGetResultXml() });
}
function showGetResultXml() {
var result = null;
var scriptUrl = "http://gm.boomeranginternet.co.uk/xml/amenitydata.xml";
$.ajax(
{
url: scriptUrl,
type: 'get',
dataType: 'xml',
async: false,
success: function(data) {
result = data;
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("Row");
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("SchoolName");
var address = markers[i].getAttribute("Address1");
var type = markers[i].getAttribute("type");
var point = new google.maps.LatLng(parseFloat(markers[i].getAttribute("Coordinates")));
var html = "<b>" + name + "</b> <br/>" + address;
var icon = customIcons[type] || {};
var marker = new google.maps.Marker(
{
map: map,
position: point,
icon: iconBlue
});
bindInfoWindow(marker, map, infoWindow, html);
}
},
error: function onXmlError() {
alert("An Error has occurred.");
}
});
function bindInfoWindow(marker, map, infoWindow, html) {
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(html);
infoWindow.open(map, marker);
});
}
return result;
}
function detectBrowser() {
var useragent = navigator.userAgent;
var mapdiv = document.getElementById("map-canvas");
if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1) {
mapdiv.style.width = '100%';
mapdiv.style.height = '100%';
} else {
mapdiv.style.width = '100%';
}
}
google.maps.event.addDomListener(window, 'load', initialize);
XML
<?xml version="1.0" encoding="utf-8" ?>
<AmenityData>
<Row>
<LANumber>869</LANumber>
<EstablishmentNumber>4034</EstablishmentNumber>
<SchoolName>John O&#39;Gaunt School</SchoolName>
<Address1>Priory Road</Address1>
<Town>Hungerford</Town>
<Postcode>RG17 0AN</Postcode>
<Coordinates>51.405190, -1.514791</Coordinates>
<lat>51.405190</lat>
<long>-1.514791</long>
<TelNumber>01488 682400</TelNumber>
<Type>CY</Type>
<Age>61</Age>
</Row>
<Row>
<LANumber>872</LANumber>
<EstablishmentNumber>4051</EstablishmentNumber>
<SchoolName>The Bulmershe School</SchoolName>
<Address1>Chequers Way</Address1>
<Address2>Woodley</Address2>
<Town>Reading</Town>
<Postcode>RG5 3EL</Postcode>
<Coordinates>51.454231, -0.917519</Coordinates>
<lat>51.454231</lat>
<long>-0.917519</long>
<TelNumber>0118 9353353</TelNumber>
<Type>CY</Type>
<Age>170</Age>
</Row>
<Row>
<LANumber>872</LANumber>
<EstablishmentNumber>4049</EstablishmentNumber>
<SchoolName>The Emmbrook School</SchoolName>
<Address1>Emmbrook Road</Address1>
<Town>Wokingham</Town>
<Postcode>RG41 1JP</Postcode>
<Coordinates>51.421683, -0.851670</Coordinates>
<lat>51.421683</lat>
<long>-0.851670</long>
<TelNumber>0118 9784406</TelNumber>
<Type>CY</Type>
<Age>219</Age>
</Row>
<Row>
<LANumber>870</LANumber>
<EstablishmentNumber>4020</EstablishmentNumber>
<SchoolName>Highdown School and Sixth Form Centre</SchoolName>
<Address1>Surley Row</Address1>
<Address2>Emmer Green</Address2>
<Town>Reading</Town>
<Postcode>RG4 8LR</Postcode>
<Coordinates>51.481701, -0.975611</Coordinates>
<lat>51.481701</lat>
<long>-0.975611</long>
<TelNumber>0118 9015800</TelNumber>
<Type>ACC</Type>
<Age>273</Age>
</Row>
<Row>
<LANumber>869</LANumber>
<EstablishmentNumber>7005</EstablishmentNumber>
<SchoolName>Mary Hare School</SchoolName>
<Address1>Arlington Manor</Address1>
<Address2>Snelsmore Common</Address2>
<Town>Newbury</Town>
<Postcode>RG14 3BQ</Postcode>
<Coordinates>51.437105, -1.329385</Coordinates>
<lat>51.437105</lat>
<long>-1.329385</long>
<TelNumber>01635 244200</TelNumber>
<Type>NMSS</Type>
<Age>70</Age>
</Row>
<Row>
<LANumber>872</LANumber>
<EstablishmentNumber>6001</EstablishmentNumber>
<SchoolName>Bearwood College</SchoolName>
<Address1>Bearwood</Address1>
<Town>Wokingham</Town>
<Postcode>RG41 5BG</Postcode>
<Coordinates>51.415843, -0.883741</Coordinates>
<lat>51.415843</lat>
<long>-0.883741</long>
<TelNumber>0118 9748300</TelNumber>
<Type>IND</Type>
<Age>77</Age>
</Row>
<Row>
<LANumber>867</LANumber>
<EstablishmentNumber>4061</EstablishmentNumber>
<SchoolName>Easthampstead Park Community School</SchoolName>
<Address1>Ringmead</Address1>
<Town>Bracknell</Town>
<Postcode>RG12 8FS</Postcode>
<Coordinates>51.398508, -0.782719</Coordinates>
<lat>51.398508</lat>
<long>-0.782719</long>
<TelNumber>01344 304567</TelNumber>
<Type>CY</Type>
<Age>125</Age>
</Row>
</AmenityData>
感谢您的帮助。
请张贴在问题本身的(相关)的代码,而不仅仅是一个网页链接,将变更或消失时的问题得到解决(链接是有帮助的,但一旦你的问题得到解决,将不会有用)。请参阅[我如何问一个好问题?](http://stackoverflow.com/help/how-to-ask) – geocodezip 2014-12-03 16:36:31
所有代码添加,谢谢。 – JBoom 2014-12-03 16:42:18
您应该也可以发布XML的样本。 – geocodezip 2014-12-03 16:52:11