Fórumok
RE: OpenLayers Portlet
Pedro Mendes, módosítva 11 év-val korábban
OpenLayers Portlet
New Member Bejegyzések: 9 Csatlakozás dátuma: 2012.05.30. Legújabb bejegyzések
Hi,
I'm new to Liferay and Portlet development and I'm trying to show an OpenLayers map in a portlet but without success.
Here is my view.jsp
The map is assigned to the div but just isn't visible. Does anyone know why? Thanks
I'm new to Liferay and Portlet development and I'm trying to show an OpenLayers map in a portlet but without success.
Here is my view.jsp
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ 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 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>
The map is assigned to the div but just isn't visible. Does anyone know why? Thanks
Nagendra Kumar Busam, módosítva 11 év-val korábban
RE: OpenLayers Portlet
Liferay Master Bejegyzések: 678 Csatlakozás dátuma: 2009.07.07. Legújabb bejegyzések
Can you try to debug your code with FireBug tool, actually div was filled with content. It seems there is some problem with css/display
Pilar Hidalgo, módosítva 11 év-val korábban
RE: OpenLayers Portlet
New Member Bejegyzések: 14 Csatlakozás dátuma: 2012.04.10. Legújabb bejegyzések
Hi,
Did yo solve it? I have the same problem.
Did yo solve it? I have the same problem.
Pilar Hidalgo, módosítva 11 év-val korábban
RE: OpenLayers Portlet
New Member Bejegyzések: 14 Csatlakozás dátuma: 2012.04.10. Legújabb bejegyzések
Me respondo a mi misma:
falta el onload() para que lo cargue al entrar en la página, este es el código que finalmente me funcionó:
<style type="text/css">
#map { width: 788px; height: 395px; }
</style>
<div id="map"> </div>
<script type="text/javascript" src="<%= request.getContextPath() %>/js/OpenLayers-2.10/OpenLayers.js"></script>
<script>
var body = document.getElementsByTagName("body")[0];
body.addEventListener("load", init(), false);
function init() {
var map = new OpenLayers.Map( 'map' );
var options = {numZoomLevels: 5, isBaseLayer:true};
var contextPath = "<%=request.getContextPath()%>";
var url= contextPath+ "/img/HYP_50M_SR_W.GIF";
var layer = new OpenLayers.Layer.Image('Mapa', url,
new OpenLayers.Bounds(-180, -90, 180, 90),
new OpenLayers.Size(788, 395),
options
);
map.addLayer(layer);
map.setCenter(new OpenLayers.LonLat(), 0);
map.addControl( new OpenLayers.Control.LayerSwitcher() );
};
</script>
falta el onload() para que lo cargue al entrar en la página, este es el código que finalmente me funcionó:
<style type="text/css">
#map { width: 788px; height: 395px; }
</style>
<div id="map"> </div>
<script type="text/javascript" src="<%= request.getContextPath() %>/js/OpenLayers-2.10/OpenLayers.js"></script>
<script>
var body = document.getElementsByTagName("body")[0];
body.addEventListener("load", init(), false);
function init() {
var map = new OpenLayers.Map( 'map' );
var options = {numZoomLevels: 5, isBaseLayer:true};
var contextPath = "<%=request.getContextPath()%>";
var url= contextPath+ "/img/HYP_50M_SR_W.GIF";
var layer = new OpenLayers.Layer.Image('Mapa', url,
new OpenLayers.Bounds(-180, -90, 180, 90),
new OpenLayers.Size(788, 395),
options
);
map.addLayer(layer);
map.setCenter(new OpenLayers.LonLat(), 0);
map.addControl( new OpenLayers.Control.LayerSwitcher() );
};
</script>
Pedro Mendes, módosítva 11 év-val korábban
RE: OpenLayers Portlet
New Member Bejegyzések: 9 Csatlakozás dátuma: 2012.05.30. Legújabb bejegyzések
y i got it but now i've this problem:
content fits all page instead of div defined for rendering
anyone knows why?
ty
content fits all page instead of div defined for rendering
anyone knows why?
ty