[Talk-de] Talk-de Nachrichtensammlung, Band 78, Eintrag 18

Andreas Neumann andr-neumann at gmx.net
Fr Jan 11 21:23:23 UTC 2013


Am 11.01.2013 21:53, schrieb Wolfgang Wienke:
> Hallo!
> Am 11.01.2013 13:00, schrieb talk-de-request at openstreetmap.org:
>
>> Hallo!
>> Kann mir mal jemand helfen?
>> Ich bekomme einfach keine Bing-Tiles, selbst mit der folgenden
>> Einfachst-Seite
>> Wo liegt der Fehler?
>>
>> <!DOCTYPE html>
>> <html>
>>     <head>
>>       <meta http-equiv="Content-Type" content="text/html;
>> charset=utf-8">
>>       <script src="http://openlayers.org/dev/OpenLayers.js"
>> type="text/javascript"></script>
>>       <script type="text/javascript">
>>     var apiKey =
>> "AgHlDSt2hA0fi3nZNxVDtNaGOljd3z0-dOoyoM2Uh2ucLLYM4mBf5muMu38fdwQm";
>>     var map = new OpenLayers.Map('map');
>>
>>     var road = new OpenLayers.Layer.Bing({
>>           key: apiKey,
>>     type: "Road",
>>          });
>>
>>     map.addLayers([road]);
>>     map.zoomToMaxExtent();
>>     </script>
>> </head>
>>     <body>
>>       <div id="map"  style="width:512px; height:256px; border:1px solid
>> #ccc"></div>
>>     </body>
>> </html>
>>
>
> Ich habe jetzt festgestellt: Wenn ich das Script UNTERHALB der Karte
> in den body einbinden (wie auch in den OpenLayers Beispielen),
> funktioniert die Seite. Woran das liegt, ist mir allerdings völlig
> unklar.
>
>

Du versuchst auf ein Objekt (<div id='map'>) zuzugreifen, das noch nicht
geladen ist. Führst du den Code erst nach dem Objekt aus oder gar erst,
wenn die Seite vollständig geladen ist, müsste alles funktionieren. Um
letzteres zu versuchen, verpacke deinen JavaScript-Code einfach in eine
Funktion:

function drawmap() {
// Javascriptcode
}

und füge dem body das onload-Attribut hinzu: <body onload="drawmap();">

Einige Frameworks bringen auch eine eigene Möglichkeit mit. in jQuery
kann ich Funktionen, die erst bei vollständig geladener Seite ausgeführt
werden soll so einbinden:
$(document).ready(function() {
// Javascriptcode
});

Hoffe die Unklarheiten vergrößert zu haben ;)
Andreas

-- 
Andreas Neumann
http://stadtplan-ilmenau.de





Mehr Informationen über die Mailingliste Talk-de