[英]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.