Fórum
problema com portlet de google maps
andré cordazzo brunelli, modificado 15 Anos atrás.
problema com portlet de google maps
New Member Postagens: 2 Data de Entrada: 01/04/09 Postagens Recentes
olá a todos!
eu estou criando um portlet para o meu estágio na faculdade em que precisa do Google Maps. Como é necessário uma interação com um banco de dados, eu preferi tentar o Google Web Toolkit (GWT), que permite escrever o código em Java e na hora da compilação transforma em Javascript. No entanto, o mapa não está aparecendo. Eu já fiz um portlet que rodasse uma aplicação básica em GWT; já fiz um outro que mostra um mapa, só que com Javascript; tamém já fiz uma aplicação que roda Google Maps em GWT, só que não era em um portlet, e sim uma aplicação web comum.
A minha tentativa é basicamente a seguinte:
primeiramente, eu crio um portlet;
no view.jsp, escrevo o seguinte código:
isso direciona a aplicação para o arquivo Main.gwt.xml:
o código acima adiciona as bibliotecas necessárias para a aplicação GWT rodar. A tag
Eu já coloquei na MainEntryPoint.java, junto com o código acima, um outro que inclui um simples botão, como eu já fiz em outra aplicação que rodou. Porém, nem o botão aparece. Eu estou usando Netbeans 6.5, Liferay Portal Server 5.1.x/5.2.x e Liferay 5.2.2 com Tomcat 5.5 (também já tentei com o Tomcat 6.0 com os mesmos resultados).
eu estou criando um portlet para o meu estágio na faculdade em que precisa do Google Maps. Como é necessário uma interação com um banco de dados, eu preferi tentar o Google Web Toolkit (GWT), que permite escrever o código em Java e na hora da compilação transforma em Javascript. No entanto, o mapa não está aparecendo. Eu já fiz um portlet que rodasse uma aplicação básica em GWT; já fiz um outro que mostra um mapa, só que com Javascript; tamém já fiz uma aplicação que roda Google Maps em GWT, só que não era em um portlet, e sim uma aplicação web comum.
A minha tentativa é basicamente a seguinte:
primeiramente, eu crio um portlet;
no view.jsp, escrevo o seguinte código:
<%
final String BASE_URL="/TesteLiferayGWTMaps";
final String MODULE_NAME="org.yournamehere";
final String LAB_4500_DIV="TESTELIFERAYGWTMAPS_DIV"; //must be shared with the class MainEntryPoint
%>
<meta name="gwt:module" content="<%=BASE_URL%>/<%=MODULE_NAME%>.Main">
<script language="javascript" src="<%=BASE_URL%>/<%=MODULE_NAME%>.Main/<%=MODULE_NAME%>.Main.nocache.js"></script>
<link rel="stylesheet" href="<%=BASE_URL%>/resources/stylesheet.css" type="text/css" media="screen">
<div id="<%=LAB_4500_DIV" %>> </div>
isso direciona a aplicação para o arquivo Main.gwt.xml:
<module>
<inherits name="com.google.gwt.user.User" />
<inherits name="com.google.gwt.maps.GoogleMaps" />
<script src="http://maps.google.com/maps?file=api&v=2.x&key=ABQIAAAAjU0EJWnWPMv7oQ-jjS7dYxSPW5CJgpdgO_s4yyMovOaVh_KvvhSfpvagV18eOyDWu7VytS6Bi1CWxw"></script>
<inherits name="com.google.gwt.user.theme.standard.Standard" />
<entry-point class="org.yournamehere.client.MainEntryPoint" />
<!-- Do not define servlets here, use web.xml -->
</module>
o código acima adiciona as bibliotecas necessárias para a aplicação GWT rodar. A tag
<script src="”http://maps.google.com/maps?..."></script>
é a chave para acessar o Google Maps. A tag <entry-point class="”org.yournamehere.client.MainEntryPoint”/"></entry-point>
diz que a aplicação deve acessar o arquivo MainEntryPoint.java:
package org.yournamehere.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.maps.client.MapWidget;
import com.google.gwt.maps.client.control.MapTypeControl;
import com.google.gwt.maps.client.control.SmallMapControl;
import com.google.gwt.maps.client.event.MapClickHandler;
import com.google.gwt.maps.client.geom.LatLng;
import com.google.gwt.maps.client.overlay.Marker;
import com.google.gwt.maps.client.overlay.Overlay;
import com.google.gwt.user.client.ui.RootPanel;
public class MainEntryPoint implements EntryPoint {
public void onModuleLoad() {
MapWidget mapWiget = new MapWidget(LatLng.newInstance(48.136559, 11.576318), 13);
mapWiget.setSize("500px", "300px");
mapWiget.addControl(new SmallMapControl());
mapWiget.addControl(new MapTypeControl());
mapWiget.addMapClickHandler(new MapClickHandler() {
public void onClick(MapClickEvent e) {
MapWidget sender = e.getSender();
Overlay overlay = e.getOverlay();
LatLng point = e.getLatLng();
}
});
RootPanel.get("TESTELIFERAYGWTMAPS_DIV").add(mapWiget);
}
}
Eu já coloquei na MainEntryPoint.java, junto com o código acima, um outro que inclui um simples botão, como eu já fiz em outra aplicação que rodou. Porém, nem o botão aparece. Eu estou usando Netbeans 6.5, Liferay Portal Server 5.1.x/5.2.x e Liferay 5.2.2 com Tomcat 5.5 (também já tentei com o Tomcat 6.0 com os mesmos resultados).
andré cordazzo brunelli, modificado 15 Anos atrás.
RE: problema com portlet de google maps
New Member Postagens: 2 Data de Entrada: 01/04/09 Postagens Recentes
ah, só para completar: quando eu tento fazer o deploy, o portlet que aparece é um outro, o que eu fiz com GWT que roda normal. já tentei tudo quanto é tipo de gambiarra e não consigo mudar isso. é como se estivesse anexando outro projeto quando eu faço deploy.