element ist nicht definiert (oder so?)

supersalzi

Erfahrenes Mitglied
Hey,
ich bin leider noch ein blutiger Anfänger was js angeht. Ich habe etwas mit der googemaps api gemacht, was auch alles ganz gut geht, aber ich habe ein Problem, was ich nicht verstehe:

Problem:

Zeile 69, Zeichen 3
Fehler: 'map' ist undefiniert

und Zeile 34, Zeichen 9
Fehler. Das Objekt unterstützt die Eigenschaft oder Methode nicht

(Fehlermeldung aus IE)

Das 'map' Teil ist eigentlich das html <object> Element.
Ich weis nicht wie ich es definieren soll. (?)

Hier der Code, ich weis nicht wie ich es sonst beschreiben soll (stelle ist markiert)
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
5 <title>Fotos auf google maps</title>
6<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAkSR-yqkG************RQaOb5syQFc5KU_6cb1I***********6n0fyXpCHbTSQ" type="text/javascript">
7 </script>
8
9 <script type="text/javascript">
10 //<![CDATA[
11
12 var iconBlue = new GIcon();
13 iconBlue.image = 'http://labs.google.com/ridefinder/images/mm_20_blue.png';
14 iconBlue.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
15 iconBlue.iconSize = new GSize(12, 20);
16 iconBlue.shadowSize = new GSize(22, 20);
17 iconBlue.iconAnchor = new GPoint(6, 20);
18 iconBlue.infoWindowAnchor = new GPoint(5, 1);
19
20 var iconRed = new GIcon();
21 iconRed.image = 'http://labs.google.com/ridefinder/images/mm_20_red.png';
22 iconRed.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
23 iconRed.iconSize = new GSize(12, 20);
24 iconRed.shadowSize = new GSize(22, 20);
25 iconRed.iconAnchor = new GPoint(6, 20);
26 iconRed.infoWindowAnchor = new GPoint(5, 1);
27
28 var customIcons = [];
29 customIcons["restaurant"] = iconBlue;
30 customIcons["bar"] = iconRed;
31
32 function load() {
33 if (GBrowserIsCompatible()) {
34 map = new GMap2(document.getElementById("map"));
35 //map.setCenter(new GLatLng(37.4419, -122.1419), 13);
36 var point = new GLatLng(51.05056734544155, 13.733768463134766);
37 map.setCenter(point, 1);
38 //map.addControl(new GSmallMapControl());
39 map.addControl(new GMapTypeControl());
40 map.enableScrollWheelZoom();
41 map.enableDoubleClickZoom();
42
43 GDownloadUrl("../../content/fotos/geocodes.xml", function(data) {
44 var xml = GXml.parse(data);
45 var markers = xml.documentElement.getElementsByTagName("marker");
46 for (var i = 0; i < markers.length; i++) {
47 var title = markers[i].getAttribute("title");
48 //var address = markers[i].getAttribute("address");
49 var img_id = markers[i].getAttribute("img_id");
50 var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
51 parseFloat(markers[i].getAttribute("lng")));
52 var marker = createMarker(point, title, img_id); // address,
53 map.addOverlay(marker);
54 }
55 });
56 }
57 }
58/// prevent page scroll
59 function wheelevent(e)
60 {
61 if (!e){
62 e = window.event
63 }
64 if (e.preventDefault){
65 e.preventDefault()
66 }
67 e.returnValue = false;
68 }
// ###########################################################
//  hier soll der FEHLER sein
69 GEvent.addDomListener(map.getContainer(), "DOMMouseScroll", wheelevent);
// ##########################################################

70 map.getContainer().onmousewheel = wheelevent;
71/// end prevent page scroll
72
73 function createMarker(point, title, img_id) { //address,
74 var marker = new GMarker(point, customIcons[img_id]);
75 var html = "<b><span style=\"font:10pt/13pt verdana, serif; color:#4474ae; font-weight:bold;\">" + title + "</span></b> <div style=\" height:120px;\"> <br/>" + "<a href=\"../../index.php?a=fotos&b=bilder&bild=" + img_id + "\" \" alt=\"" + title + "\" target=\"_top\" > <img style=\"border: solid 1px; border-color: #f0f0f0 #ccc #ccc #f0f0f0; padding:4px;\" src=\"../../content/fotos/thumbs/" + img_id + ".jpg\" /> </a> </div>";
76
77 GEvent.addListener(marker, 'click', function() {
78 marker.openInfoWindowHtml(html);
79 });
80 return marker;
81 }
82 //]]>
83 </script>
84 </head>
85
86 <body onload="load()" onunload="GUnload()">
87
88 <div id="map" style="width: 480px; height: 480px"></div>
89 </body>
90</html>
91
 
Hi,

wenn ich das richtig sehe (Dein Code ist leider schlecht bis gar nicht formatiert), wird Zeile 69 direkt beim Laden des Dokumentes ausgeführt und nicht onload wie z.B. die load-Funktion, in der "map" erst definiert wird.

LG
 
Ok, ich habe nun alles in der load() Funktion, ein Fehler ist auch schon weg. Danke.

Aber, der MSIE hat immer noch ein Problem:
Zeile 39, Zeichen 9
Fehler. Das Objekt unterstützt die Eigenschaft oder Methode nicht

Ich habe den Eindruck, dass der Fehler immer in der Zeile auftaucht, wo das erste Mal "map" steht. Kann mir da noch jemand einen Tipp geben?

sorry wegen dem Code, ich versuche es nochmal:
ansosten hier

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>Fotos auf google maps</title>
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAkSR-yqkGIvWRHJeaKIgCRRQaOb5syQFc5KU_6cb1IN1Mt6xKZhRU9H_fMYmwkw9r76n0fyXpCHbTSQ" type="text/javascript">
		</script>
		          
    <script type="text/javascript">
    //<![CDATA[

    var iconBlue = new GIcon(); 
    iconBlue.image = 'http://labs.google.com/ridefinder/images/mm_20_blue.png';
    iconBlue.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
    iconBlue.iconSize = new GSize(12, 20);
    iconBlue.shadowSize = new GSize(22, 20);
    iconBlue.iconAnchor = new GPoint(6, 20);
    iconBlue.infoWindowAnchor = new GPoint(5, 1);

    var iconRed = new GIcon(); 
    iconRed.image = 'http://labs.google.com/ridefinder/images/mm_20_red.png';
    iconRed.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
    iconRed.iconSize = new GSize(12, 20);
    iconRed.shadowSize = new GSize(22, 20);
    iconRed.iconAnchor = new GPoint(6, 20);
    iconRed.infoWindowAnchor = new GPoint(5, 1);

    var customIcons = [];
    customIcons["restaurant"] = iconBlue;
    customIcons["bar"] = iconRed;

	
	
	
    function load() {
	

      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        //map.setCenter(new GLatLng(37.4419, -122.1419), 13);
		var point = new GLatLng(51.05056734544155, 13.733768463134766);
		map.setCenter(point, 1);
		//map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.enableScrollWheelZoom();
		map.enableDoubleClickZoom();

		
		
        GDownloadUrl("../../content/fotos/geocodes.xml", function(data) {
          var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("marker");
          for (var i = 0; i < markers.length; i++) {
            var title = markers[i].getAttribute("title");
            //var address = markers[i].getAttribute("address");
            var img_id = markers[i].getAttribute("img_id");
            var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                                    parseFloat(markers[i].getAttribute("lng")));
            var marker = createMarker(point, title,  img_id); // address,
            map.addOverlay(marker);
          }
        });
      }
	  
/// prevent page scroll
		function wheelevent(e)
			{
			if (!e){
			e = window.event
			}
			if (e.preventDefault){
			e.preventDefault()
			}
			e.returnValue = false;
			}
		GEvent.addDomListener(map.getContainer(), "DOMMouseScroll", wheelevent);
		map.getContainer().onmousewheel = wheelevent; 
/// end prevent page scroll	

	  
    }

    function createMarker(point, title,  img_id) { //address,
      var marker = new GMarker(point, customIcons[img_id]);
      var html = "<b><span style=\"font:10pt/13pt verdana, serif; color:#4474ae; font-weight:bold;\">" + title + "</span></b> <div style=\" height:120px;\"> <br/>"  + "<a href=\"../../index.php?a=fotos&b=bilder&bild=" + img_id + "\" \" alt=\"" + title + "\" target=\"_top\" > <img style=\"border: solid 1px; border-color: #f0f0f0 #ccc #ccc #f0f0f0; padding:4px;\" src=\"../../content/fotos/thumbs/" + img_id + ".jpg\" /> </a> </div>";
     
	  GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
      return marker;
    }
    //]]>
  </script>
  </head>

  <body onload="load()" onunload="GUnload()">

	 <div id="map" style="width: 480px; height: 480px"></div>
  </body>
</html>
 
oh sorry, ich hab das Hochladen wirklich vergessen (man sollte wohl manchmal eher schlafen gehen).

Sven Mintel hatte recht, jetzt gehts.
Danke!
 

Neue Beiträge

Zurück