2015-08-31 114 views
1

我正在製作一個帶有OpenLayers地圖的ASP.NET網站,但在IE中它始終在加載,並且在Chrome中表示,該網站在一段時間後沒有反應。 腳本位於內容標籤內。
而我正在使用版本2.13.1。
這是代碼:OpenLayers地圖不能正確加載

<script type="text/javascript" src="../Scripts/OpenLayers.js" ></script> 

    <script type="text/javascript" src="../Scripts/expand.js"></script> 

    <!-- map built with OpenLayers api on OpenStreetMap --> 
    <script type="text/javascript"> 
     map = new OpenLayers.Map("mapdiv"); 
     map.addLayer(new OpenLayers.Layer.OSM()); 

     epsg4326 = new OpenLayers.Projection("EPSG:4326"); // WGS 1984 projection 
     projectTo = map.getProjectionObject(); // The map projection (Spherical Mercator) 

     // Define center-point 
     var lonLat = new OpenLayers.LonLat(8.2891666666666666666666666, 46.8344444444444444444).transform(epsg4326, projectTo); 
     map.setCenter(lonLat, 8); 

    </script> 

是我的錯鏈接還是我忘了其它的東西嗎?

+0

試舉高度或寬度,以div的像<風格類型= 「文本/ CSS」> HTML,身體,#mapdiv { \t寬度:100%; \t身高:100%; \t margin:0; } –

回答

0

您在OpenLayers 3庫中使用OpenLayers 2語法。一個關鍵的區別是,而不是說

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

你想用

var map = new ol.Map("mapdiv"); 

你需要改正,你用「的OpenLayers」,而不是「醇」的其他實例。

這裏是link到OpenLayers 3文檔入門。

+0

哦,所以我首先使用了rigth語法,因爲我使用了其他js,實際上是版本2。 – aha364636

0

嘗試這將工作

<html> 
<head> 
<title>OpenLayers Demo</title> 
<style type="text/css"> 
html,body,#mapdiv { 
    width: 100%; 
    height: 100%; 
    margin: 0; 
} 
</style> 

<script src="../js/OpenLayers.js" type="text/javascript"></script> 
<link rel="stylesheet" type="text/css" href="../css/ol-theme-style.css" /> 
</head> 
<body> 
<div id="mapdiv"></div> 
<script> 
map = new OpenLayers.Map("mapdiv"); 
map.addLayer(new OpenLayers.Layer.OSM()); 

epsg4326 = new OpenLayers.Projection("EPSG:4326"); //WGS 1984 projection 
projectTo = map.getProjectionObject(); //The map projection (Spherical Mercator) 

var lonLat = new OpenLayers.LonLat(73.8567, 18.5203).transform(epsg4326, projectTo); 

var zoom = 14; 
map.setCenter(lonLat, zoom); 
</script> 
</body> 
</html>