1

我是 Liferay 和 Portlet 开发的新手,我试图在 Portlet 中显示 OpenLayers 地图,但没有成功。

这是我的 view.jsp

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://liferay.com/tld/liferay-ui" prefix='liferay-ui' %>
<%@ page import="javax.portlet.PortletPreferences" %>
<script src="http://dev.openlayers.org/releases/OpenLayers-2.11/lib/OpenLayers.js" type="text/javascript"></script>

<p>My Map</p>

<div style="width:100%; height:100%" id="map"></div>
<script defer="defer" type="text/javascript">
    var map = new OpenLayers.Map('map');
    var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
        "http://vmap0.tiles.osgeo.org/wms/vmap0", {layers: 'basic'} );
    map.addLayer(wms);
    map.zoomToMaxExtent();
</script>

地图已分配给 div,但不显示。有谁知道为什么?谢谢

4

1 回答 1

2

疯狂猜测:您确定页面上只有一个 id="map" 吗?我宁愿去

<div ... id="<portlet:namespace/>map">
 ... var map = new OpenLayers.Map('<portlet:namespace/>map');
于 2012-05-30T21:18:52.347 回答