Virtual Earth 'Birdseye' Mode

DiDiJo

Erfahrenes Mitglied
Hey Leute ....

ich will auf einem Immobilienportal einen Lageplan einbinden. Und zwar hab ich da an eine Virtual Earth Karte gedacht die direkt alles in der (neuen) Vogelperspektive darstellt.

Mein bisheriger Code:
HTML:
<html>
   <head>
      <title></title>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

      <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2&amp;mkt=de-DE"></script>

      <script type="text/javascript">
		function GetMap()
		{
			map = new VEMap('myMap'); // ZielDiv
			//map.LoadMap(null,14,'o',false);   
			
			map.LoadMap();		// Karte initialisieren			                                           
			map.SetMapStyle(VEMapStyle.Aerial);			// Auf Arealsicht stellen
			//map.SetMapStyle(VEMapStyle.Birdseye);			// Auf Arealsicht stellen


			map.SetZoomLevel(19);                                  // Zoomlevel
			//map.HideDashboard();                                    // Auswahloptionen verstecken					           
			//map.SetScaleBarDistanceUnit(VEDistanceUnit.Kilometers); // Von Meilen auf Kilometer umstellen					
			map.Find('','Augustastrasse 4, Leverkusen, Germany',null,null,0,1,false,false,false,true, onComplete); // Suchen
			
		}
		
		function onComplete(shape, FindResult, VEPlace, HasMoreFlag)
		{
			shape = new VEShape(VEShapeType.Pushpin, VEPlace[0].LatLong);
			shape.SetTitle(VEPlace[0].Name);
			map.AddShape(shape);
		}		
      </script>
   </head>
   <body onload="GetMap();" style="font-family:Arial">
      <div id='myMap' style="position:relative; width:400px; height:275px;"></div>
   </body>
</html>

Im Grundegenommen t das auch ganz super ... die KArte läuft und findet sofort die richtige "Adresse". Man kann nachträglich auch direkt in die Vogelperspektive wechseln. Ich möchte es aber direkt von vornerein in der V.-Perspektive haben in der niedrigsten Zoomstufe. Ich kriege es aber zu erbrechen net hin.

Hat jemand von euch schon mit VE gearbeitet und kann mir ggf. helfen ?
 
Moin,

so herum klappt es bei mir :)
Code:
    function GetMap()
    {
      map = new VEMap('myMap'); // ZielDiv
      map.LoadMap();    // Karte initialisieren                                                   
      map.Find('','Augustastrasse 4, Leverkusen, Germany',null,null,0,1,false,false,false,true, onComplete); // Suchen
    }
    
    function onComplete(shape, FindResult, VEPlace, HasMoreFlag)
    {
      map.LoadMap(VEPlace[0].LatLong,1,VEMapStyle.Birdseye,false);   
      shape = new VEShape(VEShapeType.Pushpin, VEPlace[0].LatLong);
      shape.SetTitle(VEPlace[0].Name);
      map.AddShape(shape);
    }

Das Problem scheint zu bestehen, wenn bei LoadMap keine Koordinaten übergeben werden.
 
Wonderbra

Das ist schonmal das ergebnis wat ich haben wollte .... ABER () :

Meine Seite baut sich ganz normal auf ... relativ am Ende der Seite ist dann der Lageplan. Beim <body onLoad> rufe ich die GetMaps() Funktion auf und direkt dahinter eine Funktion die mir den Lageplan ausblendet:

<body onload="GetMap();toggleElement('detail_lageplan');">

Code zur toggleElement Funktion:
Code:
function toggleElement(element) {
	var el = document.getElementById(element);
	if (el.style.display == 'none') {
		el.style.display = '';
		}
	else {
		el.style.display = 'none';
	}
	return false;
}

Das funktioniert auch wunderbar ... Die Seite baut sich auf und der Lageplan ist ausgeblendet. Wenn ich jetzt den Lageplan über die gleiche Funktion einblende sieht das bei mir folgendermaßen aus:
binglageplan.jpg


Der schwarze Bereich geht einfach nicht weg ... egal ob ich die die Ansicht oder den Zoomfaktor ändere.

Lasse ich den Lageplan von vornerein nicht ausblenden funktioniert das ganze super. Dann ist es es auch kein Problemnachträglich den Lageplan ein und auszublenden.

Wo könnte da das Problem liegen Bzw. wie könnte man das Problem lösen


========================================================================

EDIT:

Das Problem ist gelößt. Ich habe den aufruf der toggleElement Funktion nicht ins body - onload gepackt sondern am Ende der onComplete Funktion.


========================================================================


EDIT 2:

Öhhhmmm ... kann mir jemand sagen, warum das obrige Script in keinem IE funktioniert ?
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück