我有一个简单的电梯“应用程序”,试图静态显示一个OpenLayers地图,预计有彗星动态地添加标记到基于某些服务器端逻辑的地图。无论如何,仅仅显示地图就证明是一项艰巨的任务。电梯与OpenLayers计时
的HTML如下:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrap-responsive.min.css">
<link rel="stylesheet" href="css/main.css">
<script src="js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script>
function init() {
map = new OpenLayers.Map("mainMap");
var mapnik = new OpenLayers.Layer.OSM();
var fromProjection = new OpenLayers.Projection("EPSG:4326"); // Transform from WGS 1984
var toProjection = new OpenLayers.Projection("EPSG:900913"); // to Spherical Mercator Projection
var position = new OpenLayers.LonLat(-76.6778,39.2652).transform(fromProjection, toProjection);
var zoom = 9;
map.addLayer(mapnik);
map.setCenter(position, zoom);
}
</script>
</head>
<body class="lift:content_id=main" onload="init();">
<div id="main" class="lift:surround?with=bootstrap;at=content">
<div id="mainMap"> </div>
</div>
</body>
</html>
我明明有在升降机生成的头和身体的元素从解禁后的未来困难的时候理解:环绕已经发挥了奇效。虽然静态HTML看起来很好,但相关的脚本元素已经消失,似乎无法调用init()以使地图显示。
我是否必须以某种方式覆盖环绕snippit,完全避免使用它,或者构建snippit中的所有init()javascript,然后以某种方式调用它?或者是其他东西?我是一个电梯新手,所以请忍受我,如果我在基地;
我试着另一件事是在我用来包围bootstrap.html文件中添加相关的头/脚本HTML代码发布的页面,并没有让我想要成为我的地方。
编辑:有一个(通常)缓存问题,它阻止我看到指定给lift的bootstrap.html文件的更改:suround snippit。这确实有用。
你有没有尝试使用'电梯内的''标签:surround'片段?这应该将其中的内容合并到模板的“”部分。 –
jcern
我试过。我忘了在问题中加入这个,为此我表示歉意。这个问题真的是双重的: 1.我不知道如何使用默认升力阻尼工具,它取代了HTML 和,所以我不知道在哪里,如果有的话可以覆盖它的行为。 2. OpenLayers文档专门使用body的“onload”属性来调用设置地图的javascript。 仍会导致生成的HTML中来自Lift的新创建的。 –
mephicide