Google Maps API V3 - Dynamische Karte von XML, benutzerdefinierte Attribute unzugänglich?

Ich habe Aufbau einer asp.net Steuerung zum generieren einer google map basiert auf einer xml-Datei. Ich habe die Karte arbeiten, sowie den popup-Fenstern (infoWindows). Leider, aus irgendeinem Grund kann ich nicht verwenden, die benutzerdefinierte Attribute in der XML-Datei füllen Sie das Infofenster für jeden marker. Ein null-Wert wird zurückgegeben, wenn ich rufe:
var name = Marker[i].getAttribute("name");

Habe ich neu geschrieben, dieser code mehrere verschiedene Möglichkeiten, und ich kann immer noch nicht auf den Wert zugreifen. Ich weiß, dass es existiert in der xml, so dass ich hoffte, dass es sein könnte, jemand hier mit fortgeschrittenen Kenntnissen der google maps api v3 und Parsen von xml über javascript wer könnte mir helfen, an die unten auf dieser. Ich habe die gerenderten html unten, ebenso wie der Inhalt der xml-Datei partnerLocations.xml.

HINWEIS: ich habe nutzen googleUtils.js Klasse, die von google bereitgestellt und ist hier erhältlich: http://gmaps-samples-v3.googlecode.com/svn/trunk/xmlparsing/util.js

testen.aspx (test-Seite, wo die Kontrolle durchgeführt wird) output:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">    </script>
<script type="text/javascript" src="/includes/js/googleUtils.js"></script>
<script type="text/javascript">
    google.maps.event.addDomListener(window, 'load', function () {
        var map = new google.maps.Map(document.getElementById('map_canvas'), {
            zoom: 3,
            center: new google.maps.LatLng(52.5,-117.5),
            mapTypeId: google.maps.MapTypeId.ROADMAP
        });

        var infoWindow = new google.maps.InfoWindow;
        google.maps.event.addListener(map, 'click', function () {
            infoWindow.close();
        });

        downloadUrl("/includes/xml/partnerLocations.xml", function (data) {
            var markers = data.documentElement.getElementsByTagName("marker");
            for (var i = 0; i < markers.length; i++) {
                var latlng = new     google.maps.LatLng(parseFloat(markers[i].getAttribute("lat")),
                                    parseFloat(markers[i].getAttribute("lng")));
                var name = markers[i].getAttribute("name");
                var windowContents = "<h3>" + name + "</h3>";
                var marker = new google.maps.Marker({ position: latlng, map: map });
                bindInfoWindow(marker, map, infoWindow, windowContents);
            }
        });

        function bindInfoWindow(marker, map, infowindow, html) {
            google.maps.event.addListener(marker, 'click', function () {
                infowindow.setContent(html);
                infowindow.open(map, marker);
            });
        }
    });
</script>
<div id="map_canvas" style="width: 700px; height: 500px">
</div>

</html>

partnerLocations.xml:

<?xml version="1.0" encoding="UTF-8"?>
<markers>
  <marker lat="37.401220" lng="-122.120604" name="PartnerB" address="StreetAddress" description="Thisisourpartner..."/>
  <marker lat="37.413320" lng="-122.125604" name="PartnerB" address="StreetAddress" description="Thisisourpartner..."/>
  <marker lat="37.433480" lng="-122.139062" name="PartnerC" address="StreetAddress" description="Thisisourpartner..."/>
  <marker lat="37.445427" lng="-122.162307" name="PartnerD" address="StreetAddress" description="Thisisourpartner..."/>
</markers>
  • Hast du einen link zu einem live-version Ihrer Karte? Mein Verdacht ist, dass die xml-Attribute zugänglich sind, aber Sie in ein problem mit dem fehlen der Funktion der Schließung auf Ihrem Marker (wenn Sie klicken Sie auf die Markierung, die "ich" - variable ist über das Ende des xml-also name, Adresse und Beschreibung sind nicht gültig).
  • Hi Geocodezip, ich weiß noch nicht, eine live-version, aber ich werde versuchen, nach einer heute Abend zu meinem persönlichen web-space für die überprüfung. Danke für das schauen Sie sich das an!
InformationsquelleAutor Lindsay Rose | 2012-08-06
Schreibe einen Kommentar