簡體   English   中英

為什么此地圖沒有顯示?

[英]Why does this map not show up?

試圖弄清楚為什么它沒有出現,應該顯示一個帶有圖層的地圖以顯示天氣。 我使用了Openlayers和OWM API的組合我曾在Google Chrome和Firefox上嘗試過此方法,但無濟於事:

<body onload="init()">
<div id="map" class="map"></div>
<script src="http://openlayers.org/api/OpenLayers.js"></script>
<script src="http://openweathermap.org/js/OWM.OpenLayers.1.3.2.js" >         </script>

<script type="text/javascript">
    var map;
    function init() {
//Center  ( mercator coordinates )
var lat = 515566; 
var lon = 4688454;

// if  you use WGS 1984 coordinate you should  convert to mercator
//  lonlat.transform(
//      new OpenLayers.Projection("EPSG:4326"), // transform from WGS     1984
//      new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator Projection
//  );

var lonlat = new OpenLayers.LonLat(lon, lat);

    map = new OpenLayers.Map("basicMap");

// Create overlays
// map layer OSM
    var mapnik = new OpenLayers.Layer.OSM();
// Create station layer
var stations = new OpenLayers.Layer.Vector.OWMStations("Stations");
// Create weather layer 
var city = new OpenLayers.Layer.Vector.OWMWeather("Weather");

//connect layers to map
map.addLayers([mapnik, stations, city]);

// Add Layer switcher
map.addControl(new OpenLayers.Control.LayerSwitcher());         

map.setCenter( lonlat, 10 );
}
</script>
</body>

如果你改變

<div id="map" class="map"></div>

<div id="basicMap" class="map"></div>

它會工作。

這是因為最初創建地圖時,您將名稱設置為basicMap,並且div ID必須匹配:

map = new OpenLayers.Map("basicMap");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM