Ich habe eine Karte zeigt, die eine XML-Datei liest; es ist alles sehr einfach und kopiert von hier: http://geochalkboard.wordpress.com/2009/03/30/reading-xml-files-with-the-google-maps-api/Google Map Javascript MarkerManager Marker nicht
Meine Version ist hier: http://www.cloudfund.me/maps/mashup.html und die Daten-Datei zu lesen ist, ist hier: converted.xml im selben Verzeichnis.
ich keine Punkte überhaupt, wenn ich es laufen. Ich habe ein paar Konsolen angemeldet, um zu sehen, ob ich etwas sehen kann, aber was das betrifft, läuft es einfach ohne Probleme durch. Die Datei lädt sich gut, und ich kann den Code ohne Probleme durch alle Zeilen (208 in diesem Beispiel) sehen.
Die nur Warnung ich bekomme ist die Ressource interpretiert als andere als undefiniert 'eine weitergegeben; nachdem ich mir einige der anderen Threads angeschaut habe, kann ich nichts sehen, was hilft - keine leeren src-Verbindungen, etc. Soweit ich das beurteilen kann, sollte dies auch nicht daran hindern, die Punkte zu markieren.
Hier ist der wahre Kicker - in dem Versuch, diesen Fehler zu verfolgen, ich eine genaue Replik des ursprünglichen Codes auf meinem eigenen Server eingerichtet, und einen Fehler über Nullfelder, die ich einige bedingten Code zum Sortieren hinzugefügt; Diese Version funktioniert auf meinem Server. Dies ist austin.html im selben Verzeichnis (sorry, kann nicht in meinen ersten Beiträgen mehr als zwei Links tun!)
Also - mein Code ist dies:
<title>Test </title>
<script src="http://maps.google.com/maps?file=api&v=2&sensor=false&key=AIzaSyDgybFoyn3i5j_6d7ul7p2dPNQ5b1xOWnk"
type="text/javascript">console.log("Loaded Maps API");</script>
<script src="http://gmaps-utility-library.googlecode.com/svn/trunk/markermanager/release/src/markermanager.js">console.log("MarkerManager");</script>
<script type="text/javascript">
console.log("Into Main Script");
function initialize() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(51.39906378, -2.449545605), 13);
map.setUIToDefault();
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.addMapType(G_PHYSICAL_MAP);
map.setMapType(G_PHYSICAL_MAP);
console.log("Reached end of map initialising");
addMarkersFromXML();
console.log("MarkersfromXML")
}
}
function addMarkersFromXML(){
var batch = [];
mgr = new MarkerManager(map);
var request = GXmlHttp.create();
console.log("About to open converted.xml")
request.open('GET', 'converted.xml', true);
console.log("Opened Converted.xml")
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200)
{
var xmlDoc = request.responseXML;
var xmlrows = xmlDoc.documentElement.getElementsByTagName("row");
for (var i = 0; i < xmlrows.length; i++) {
var xmlrow = xmlrows[i];
console.log("Running through row number",i)
var xmlcellLongitude = xmlrow.getElementsByTagName("longitude")[0];
console.log(xmlcellLongitude);
var xmlcellLatitude = xmlrow.getElementsByTagName("latitude")[0];
var point = new GLatLng(parseFloat(xmlcellLatitude.firstChild.data),parseFloat(xmlcellLongitude.firstChild.data));
//get the PAO
var xmlcellAssetName = xmlrow.getElementsByTagName("pao")[0];
console.log(xmlcellAssetName);
var celltextAssetName = xmlcellAssetName.firstChild.data;
//get the area
var xmlcellArea = xmlrow.getElementsByTagName("area")[0];
console.log(xmlcellArea);
var celltextArea = xmlcellArea.firstChild.data;
//get the land type
var xmlcellLandType = xmlrow.getElementsByTagName("landtype")[0];
console.log(xmlcellLandType);
var celltextLandType = xmlcellLandType.firstChild.data;
//get the Planning Permissions
var xmlcellPlanning = xmlrow.getElementsByTagName("planning")[0];
console.log(xmlcellPlanning);
var celltextPlanning = xmlcellPlanning.firstChild.data;
var htmlString = "Asset Name: " + celltextAssetName + "<br>" + "Size: " + celltextArea + "<br>" + "Land Type: " + celltextLandType + "<br>" + "Planning Permissions: " + celltextPlanning;
//var htmlString = 'yes'
var marker = createMarker(point,htmlString);
batch.push(marker);
}
mgr.addMarkers(batch,50);
mgr.refresh();
}
}
request.send(null);
}
function createMarker(point,html) {
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
</script>
</head>
<body onload="initialize()" onunload="GUnload()">
<div id="map_canvas" style="width: 1100px; height: 700px"></div>
</body>
</html>
Vielen Dank! Ich werde zuerst diese URL sehen ... Hmm, auf der zweiten. Ich bin ein kompletter Neuling (daher beginnend mit dem Code von jemand anderem). Das könnte eine Weile dauern. – Withnail
Ich habe diesen Tippfehler beseitigt, aber immer noch nichts getan. Bah. Ist der v3-Code-Gong deutlich anders? – Withnail
Die URL beginnend mit '//' ist kein Tippfehler, sondern ein ** Protokoll relative URL ** (http://paulirish.com/2010/the-protocol-relative-url/). Dies führt dazu, dass das maps-Skript mit demselben Protokoll (http oder https) wie die umgebende Seite geladen wird. – gapple