OpenLayers地图不能正确加载

OpenLayers map doesn't get loaded correctly

本文关键字:加载 不能 地图 OpenLayers      更新时间:2023-09-26

我正在制作一个ASP。. NET网站有一个OpenLayers地图,但在IE中它总是加载,在Chrome中它说,网站没有反应,过了一会儿。脚本位于内容标记内。
我使用的是2.13.1版。
这是代码:

 <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>

是我的链接错了还是我忘记了什么?

您正在使用OpenLayers 2语法和OpenLayers 3库。一个关键的区别是,不是说

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

你想使用

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

你需要纠正使用'OpenLayers'而不是'ol'的其他实例。

这里有一个关于OpenLayers 3文档入门的链接。

试试这个会成功

<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>