javascript - OpenLayers + Liferay 门户组件

标签 javascript liferay openlayers portlet

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

这是我的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>

map 已分配给 div,但未显示。有谁知道为什么?谢谢

最佳答案

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

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

关于javascript - OpenLayers + Liferay 门户组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10816929/

相关文章:

javascript - 在不使用 Jquery 的情况下从 Liferay 中的代码更改 portlet 标题

javascript - 如何加载字体并使用 TextGeometry 渲染它

javascript - 如何将变量传递给 .innerHTML

javascript - Switch 函数运行但大小写被忽略

javascript - 如何在 ECMAScript 中将点转换为极坐标?

liferay - 无法更新 ID 为 y 的包 : x. jar。 bundle 已卸载

java - Liferay Portal 中具有不同 windowState 的 URL 问题

javascript - 如何初始化像这样的 jQuery 小部件 : var newMap = xgis. map ('#map' ,选项);

javascript - 带有 map 代理脚本的 OpenLayers XYZ 示例

php - 将 KML 文件上传到数据库并显示在 OpenLayers map 上