OpenLayers + Liferay Portlet

OpenLayers + Liferay Portlet

本文关键字:Portlet Liferay OpenLayers      更新时间:2023-09-26

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

以下是我的观点.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,但不显示。有谁知道为什么?谢谢

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

<div ... id="<portlet:namespace/>map">
 ... var map = new OpenLayers.Map('<portlet:namespace/>map');