Galera!!!
Seguinte, estou desenvolvendo uma aplicação onde estou usando o google maps, essa aplicação é para rastreamento de carro. O meu chefe que que eu mostre uma imagem de um carrinho no map indicando onde o carro esta.
Alguem ja mexeu com isso assim?
Como que eu vou por essa infelicidade de imagem?
Att
Entao,
Não achei na documentação essa parte em especifico.
Tem algum nome em especial?
Att
Achei um exemplo, mas o cara fez usando servlet e tem mais de 520 linhas de codigos.
Acho que deve ter um jeito mais facil.
Att
[quote=vcsmetallica]Achei um exemplo, mas o cara fez usando servlet e tem mais de 520 linhas de codigos.
Acho que deve ter um jeito mais facil.
Att[/quote]
Tem certeza que voce pesquisou a documentação?
http://code.google.com/intl/pt-BR/apis/maps/documentation/javascript/overlays.html#Icons
Ai mostra como colocar figura, como voce diz.
Blza cara, me atende.
So não estou sabendo colocar junto com o meu xhtml. mas um dia sai!!!
Vlw
Galera,
Achei esse carinha aqui qua ajuda http://code.google.com/p/gmaps4jsf/
Valeu
[quote=vcsmetallica]Blza cara, me atende.
So não estou sabendo colocar junto com o meu xhtml. mas um dia sai!!!
Vlw[/quote]
Voce pode colocar nas páginas xhtml da mesma forma que colocaria em qualquer documento html. A manipulação é feita com JS. Não é porque voce esta usando JSF que tem que usar seus componentes e tags. Manda ver que voce consegue.
[quote=lucasmurata][quote=vcsmetallica]Blza cara, me atende.
So não estou sabendo colocar junto com o meu xhtml. mas um dia sai!!!
Vlw[/quote]
Voce pode colocar nas páginas xhtml da mesma forma que colocaria em qualquer documento html. A manipulação é feita com JS. Não é porque voce esta usando JSF que tem que usar seus componentes e tags. Manda ver que voce consegue.[/quote]
Lucas, valeu pela dica. Eu achei uma ferramenta que usa tag’s jsf para a api do google maps, estou estudando ela. É bem documentada e acho que vai me servir.
:lol:
Att
Lucas,
Entao, o inferno da biblioteca nao me atende.
Não stou conseguindo fazer isso funcionar.
Abaixo o meu xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
<title>Gerenciador de Veículos</title>
<link type="text/css" rel="stylesheet" href="dot-luv/skin.css" />
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function initialize() {
alert("ola");
var myOptions = {
zoom: 4,
center: new google.maps.LatLng(-33, 151),
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var image = 'images/beachflag.png';
var myLatLng = new google.maps.LatLng(-33.890542, 151.274856);
var beachMarker = new google.maps.Marker({
position: myLatLng,
map: map,
icon: image
});
}
</script>
</h:head>
<h:body id="principal" onload="initialize()">
<h:form id="formPrincipal">
<p:layout fullPage="true">
<p:layoutUnit position="top" height="75" header="Opções" resizable="true" closable="false" collapsible="true">
<h:outputText value="North unit content." />
<p:ajaxStatus style="height:24px;display:block;">
<f:facet name="start">
<h:graphicImage value="./../images/ajaxwait.gif" />
</f:facet>
<f:facet name="complete">
<h:outputText value="" />
</f:facet>
</p:ajaxStatus>
</p:layoutUnit>
<p:layoutUnit position="left" width="200" header="Veículos" resizable="true" closable="false" collapsible="true">
<h:commandButton value="Teste" onclick="initialize()" />
</p:layoutUnit>
<p:layoutUnit position="center" header="Mapa" id="layout" >
<div id="map_canvas"></div>
</p:layoutUnit>
<p:layoutUnit position="right" width="200" header="Informações" resizable="true" closable="false" collapsible="true">
</p:layoutUnit>
</p:layout>
</h:form>
</h:body>
</html>
[quote=vcsmetallica]Lucas,
Entao, o inferno da biblioteca nao me atende.
Não stou conseguindo fazer isso funcionar.
Abaixo o meu xhtml
[code]
<?xml version='1.0' encoding='UTF-8' ?>
Gerenciador de Veículos
function initialize() {
alert("ola");
var myOptions = {
zoom: 4,
center: new google.maps.LatLng(-33, 151),
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var image = 'images/beachflag.png';
var myLatLng = new google.maps.LatLng(-33.890542, 151.274856);
var beachMarker = new google.maps.Marker({
position: myLatLng,
map: map,
icon: image
});
}
</script>
</h:head>
<h:body id="principal" onload="initialize()">
<h:form id="formPrincipal">
<p:layout fullPage="true">
<p:layoutUnit position="top" height="75" header="Opções" resizable="true" closable="false" collapsible="true">
<h:outputText value="North unit content." />
<p:ajaxStatus style="height:24px;display:block;">
<f:facet name="start">
<h:graphicImage value="./../images/ajaxwait.gif" />
</f:facet>
<f:facet name="complete">
<h:outputText value="" />
</f:facet>
</p:ajaxStatus>
</p:layoutUnit>
<p:layoutUnit position="left" width="200" header="Veículos" resizable="true" closable="false" collapsible="true">
<h:commandButton value="Teste" onclick="initialize()" />
</p:layoutUnit>
<p:layoutUnit position="center" header="Mapa" id="layout" >
<div id="map_canvas"></div>
</p:layoutUnit>
<p:layoutUnit position="right" width="200" header="Informações" resizable="true" closable="false" collapsible="true">
</p:layoutUnit>
</p:layout>
</h:form>
</h:body>
[/code][/quote]
1- Qual é o erro que está dando? Não aparece o Mapa, a imagem, a rota?
2- Essa imagem realmente existe, e se existe está com caminho certo? "images/beachflag.png"
3- Voce tem que usar o JSFail? Alguns compoenetes podem impedir o controle fino do JS.
Uma vez tive que fazer isso, no começo foi chatinho, mas depois que voce pega jeito da API, voce fica encantado e faz coisas impressionantes.
1- Qual é o erro que está dando? Não aparece o Mapa, a imagem, a rota?
Não aparece o mapa. ![:cry: :cry:](//www.guj.com.br/images/emoji/twitter/cry.png?v=5)
Estou tentando primeiro plotar o mapa, acho que é o primeiro passo! :lol:
Ai depois vou passar as coordenadas para ele
2- Essa imagem realmente existe, e se existe está com caminho certo? "images/beachflag.png"
A imagem existe sim
3- Voce tem que usar o JSFail? Alguns compoenetes podem impedir o controle fino do JS.
Não frago esse cara nao JSFail!
Eu ja mexi com a api usando o Flex. Realmente, muito legal mesmo, show de bola. Usando o flex eu fiz tudo isso, so que o desenvolvimento é diferente, vc importa as classes para dentro do seu actionscript e um abraço!
Mas so que estou tomando uma tunda da api no jsf
[quote=vcsmetallica]1- Qual é o erro que está dando? Não aparece o Mapa, a imagem, a rota?
Não aparece o mapa. ![:cry: :cry:](//www.guj.com.br/images/emoji/twitter/cry.png?v=5)
Estou tentando primeiro plotar o mapa, acho que é o primeiro passo! :lol:
Ai depois vou passar as coordenadas para ele
2- Essa imagem realmente existe, e se existe está com caminho certo? "images/beachflag.png"
A imagem existe sim
3- Voce tem que usar o JSFail? Alguns compoenetes podem impedir o controle fino do JS.
Não frago esse cara nao JSFail!
Eu ja mexi com a api usando o Flex. Realmente, muito legal mesmo, show de bola. Usando o flex eu fiz tudo isso, so que o desenvolvimento é diferente, vc importa as classes para dentro do seu actionscript e um abraço!
Mas so que estou tomando uma tunda da api no jsf
[/quote]
Entao vamos em partes.
Primeiro faça o mapa aparecer:
[code]
function initialize() {
var myOptions = {
zoom: 4,
center: new google.maps.LatLng(-33, 151),
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);[/code]
Uma coisa que pode estar acontecendo é que o lixo de JSFail dá IDs próprios aos componetes, e o JS nao está reconhecendo o map_canvas como ID.
verifique isso.
Entao, não funcionou.
olhei no codigo fonte dad pagina e ele nao esta acresentando nada de errado no nome.
Coloquei um alert no JS e o alert nao foi exibido.
Esta estranho esse negocio, vou fazer uma outra pagina aqui.
Att
Entao, abaixo o codigo:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
<title>Gerenciador de Veículos</title>
<link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" />
<link type="text/css" rel="stylesheet" href="dot-luv/skin.css" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function initialize() {
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
</script>
</h:head>
<h:body>
<h:form>
<p:layout fullPage="true">
<p:layoutUnit position="top" height="75" header="Opções" resizable="true" closable="false" collapsible="true">
<h:outputText value="North unit content." />
<p:ajaxStatus style="height:24px;display:block;">
<f:facet name="start">
<h:graphicImage value="./../images/ajaxwait.gif" />
</f:facet>
<f:facet name="complete">
<h:outputText value="" />
</f:facet>
</p:ajaxStatus>
</p:layoutUnit>
<p:layoutUnit position="left" width="200" header="Veículos" resizable="true" closable="false" collapsible="true">
<h:commandButton value="Teste" onclick="initialize();" />
</p:layoutUnit>
<p:layoutUnit position="center" header="Mapa" >
<body onload="initialize();">
<div id="map_canvas" >teste</div>
</body>
</p:layoutUnit>
<p:layoutUnit position="right" width="200" header="Informações" resizable="true" closable="false" collapsible="true">
</p:layoutUnit>
</p:layout>
</h:form>
</h:body>
</html>
Quando coloco o codigo em html simples funciona, mas quando eu volto ele para xhtml ocorre o seguinte erro:
Erro: google.maps.MapTypeId is undefined
Arquivo-fonte: http://localhost:8084/cestelemetria/rastreamento/rastreamento.faces
Linha: 24
[quote=vcsmetallica]Entao, abaixo o codigo:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
<title>Gerenciador de Veículos</title>
<link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" />
<link type="text/css" rel="stylesheet" href="dot-luv/skin.css" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function initialize() {
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
</script>
</h:head>
<h:body>
<h:form>
<p:layout fullPage="true">
<p:layoutUnit position="top" height="75" header="Opções" resizable="true" closable="false" collapsible="true">
<h:outputText value="North unit content." />
<p:ajaxStatus style="height:24px;display:block;">
<f:facet name="start">
<h:graphicImage value="./../images/ajaxwait.gif" />
</f:facet>
<f:facet name="complete">
<h:outputText value="" />
</f:facet>
</p:ajaxStatus>
</p:layoutUnit>
<p:layoutUnit position="left" width="200" header="Veículos" resizable="true" closable="false" collapsible="true">
<h:commandButton value="Teste" onclick="initialize();" />
</p:layoutUnit>
<p:layoutUnit position="center" header="Mapa" >
<body onload="initialize();">
<div id="map_canvas" >teste</div>
</body>
</p:layoutUnit>
<p:layoutUnit position="right" width="200" header="Informações" resizable="true" closable="false" collapsible="true">
</p:layoutUnit>
</p:layout>
</h:form>
</h:body>
</html>
Quando coloco o codigo em html simples funciona, mas quando eu volto ele para xhtml ocorre o seguinte erro:
Erro: google.maps.MapTypeId is undefined
Arquivo-fonte: http://localhost:8084/cestelemetria/rastreamento/rastreamento.faces
Linha: 24
[/quote]
Tenta remover essa linha:
mapTypeId: google.maps.MapTypeId.ROADMAP
E executa de novo.
Voce está usando alguma biblioteca específica do Maps do JSFail?
Nao estou usando JSFail. Removi a linha e continua com erros.
Removi o codigo js para um arquivo .js parou o erro, so que agora não abre o mapa.
Att
[quote=vcsmetallica]Nao estou usando JSFail. Removi a linha e continua com erros.
Removi o codigo js para um arquivo .js parou o erro, so que agora não abre o mapa.
Att[/quote]
Utilize o Firebug ou o equivalente do Chrome e olhe para o ID da div do mapa, é o que está sendo chamado no JS mesmo? Pois o erro nao está no JS ja que no HTML ele funciona, é algum problema com xhtml.
entao, coloquei o bugzilla.
Esta vindo isso para mim
<div id="j_idt7:j_idt16">
<div id="map_canvas" style="height: 100%; width: 100%; position: relative; background-color: rgb(229, 227, 223); overflow: hidden;">
<div style="position: absolute; left: 0px; top: 0px; overflow: hidden; width: 100%; height: 100%; z-index: 0;">
<div style="position: absolute; left: 0px; top: 0px; overflow: hidden; width: 100%; height: 100%;">
<div style="margin: 2px 5px 2px 2px; z-index: 12; position: absolute; left: 0px; bottom: 0px;">
<div style="z-index: 1000; position: absolute; right: 0px; bottom: 0px;">
<div style="position: absolute; font-family: Arial,sans-serif; z-index: 1000; overflow: visible; display: none; -moz-user-select: none; cursor: default; width: 300px; height: 0px;">
<div class="gmnoprint" style="z-index: 10; margin: 5px; -moz-user-select: none; position: absolute; left: 0px; top: 0px;" controlwidth="32" controlheight="85">
<div style="cursor: url("http://maps.gstatic.com/intl/pt_br/mapfiles/openhand_8_8.cur"), default; z-index: 10; position: absolute; left: 0px; top: 0px;" controlwidth="32" controlheight="38">
<div style="width: 32px; height: 38px; overflow: hidden; position: absolute; left: 0px; top: 0px;">
<div style="width: 32px; height: 38px; overflow: hidden; position: absolute; left: 0px; top: 0px; visibility: hidden;">
<div style="width: 32px; height: 38px; overflow: hidden; position: absolute; left: 0px; top: 0px; visibility: hidden;">
<div style="width: 32px; height: 38px; overflow: hidden; position: absolute; left: 0px; top: 0px; visibility: hidden;">
</div>
<div class="gmnoprint" controlwidth="0" controlheight="0" style="display: none; position: absolute;">
<div class="gmnoprint" controlwidth="19" controlheight="42" style="position: absolute; left: 7px; top: 43px;">
</div>
<div class="gmnoprint" style="margin: 5px; z-index: 11; position: absolute; cursor: pointer; right: 0px; top: 0px;">
<div style="float: left;">
<div style="direction: ltr; overflow: hidden; text-align: center; position: relative; color: white; font-family: Arial,sans-serif; -moz-user-select: none; font-size: 12px; background: -moz-linear-gradient(center top , rgb(109, 138, 204), rgb(123, 152, 217)) repeat scroll 0% 0% transparent; line-height: 160%; padding: 0pt 6px; border-radius: 2px 0pt 0pt 2px; box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.35); border: 1px solid rgb(103, 138, 199); font-weight: bold; min-width: 33px;" title="Mostrar mapa de ruas">Mapa</div>
<div style="background-color: white; z-index: -1; padding-top: 1px; border-width: 0pt 1px 1px; border-style: none solid solid; border-color: -moz-use-text-color rgb(169, 187, 223) rgb(169, 187, 223); -moz-border-top-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-image: none; box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.35); position: absolute; left: 0px; top: 21px; text-align: left; display: none;">
</div>
<div style="float: left;">
</div>
</div>
</div>
</div>
</div>
</div>
O doido é que quando eu mando
escreve na div.
Att
[quote=vcsmetallica]entao, coloquei o bugzilla.
Esta vindo isso para mim
<div id="j_idt7:j_idt16">
<div id="map_canvas" style="height: 100%; width: 100%; position: relative; background-color: rgb(229, 227, 223); overflow: hidden;">
<div style="position: absolute; left: 0px; top: 0px; overflow: hidden; width: 100%; height: 100%; z-index: 0;">
<div style="position: absolute; left: 0px; top: 0px; overflow: hidden; width: 100%; height: 100%;">
<div style="margin: 2px 5px 2px 2px; z-index: 12; position: absolute; left: 0px; bottom: 0px;">
<div style="z-index: 1000; position: absolute; right: 0px; bottom: 0px;">
<div style="position: absolute; font-family: Arial,sans-serif; z-index: 1000; overflow: visible; display: none; -moz-user-select: none; cursor: default; width: 300px; height: 0px;">
<div class="gmnoprint" style="z-index: 10; margin: 5px; -moz-user-select: none; position: absolute; left: 0px; top: 0px;" controlwidth="32" controlheight="85">
<div style="cursor: url("http://maps.gstatic.com/intl/pt_br/mapfiles/openhand_8_8.cur"), default; z-index: 10; position: absolute; left: 0px; top: 0px;" controlwidth="32" controlheight="38">
<div style="width: 32px; height: 38px; overflow: hidden; position: absolute; left: 0px; top: 0px;">
<div style="width: 32px; height: 38px; overflow: hidden; position: absolute; left: 0px; top: 0px; visibility: hidden;">
<div style="width: 32px; height: 38px; overflow: hidden; position: absolute; left: 0px; top: 0px; visibility: hidden;">
<div style="width: 32px; height: 38px; overflow: hidden; position: absolute; left: 0px; top: 0px; visibility: hidden;">
</div>
<div class="gmnoprint" controlwidth="0" controlheight="0" style="display: none; position: absolute;">
<div class="gmnoprint" controlwidth="19" controlheight="42" style="position: absolute; left: 7px; top: 43px;">
</div>
<div class="gmnoprint" style="margin: 5px; z-index: 11; position: absolute; cursor: pointer; right: 0px; top: 0px;">
<div style="float: left;">
<div style="direction: ltr; overflow: hidden; text-align: center; position: relative; color: white; font-family: Arial,sans-serif; -moz-user-select: none; font-size: 12px; background: -moz-linear-gradient(center top , rgb(109, 138, 204), rgb(123, 152, 217)) repeat scroll 0% 0% transparent; line-height: 160%; padding: 0pt 6px; border-radius: 2px 0pt 0pt 2px; box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.35); border: 1px solid rgb(103, 138, 199); font-weight: bold; min-width: 33px;" title="Mostrar mapa de ruas">Mapa</div>
<div style="background-color: white; z-index: -1; padding-top: 1px; border-width: 0pt 1px 1px; border-style: none solid solid; border-color: -moz-use-text-color rgb(169, 187, 223) rgb(169, 187, 223); -moz-border-top-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-image: none; box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.35); position: absolute; left: 0px; top: 21px; text-align: left; display: none;">
</div>
<div style="float: left;">
</div>
</div>
</div>
</div>
</div>
</div>
O doido é que quando eu mando
escreve na div.
Att
[/quote]
Porque tem 2 doby no seu documento? Seu código está meio bagunçado, aquele body antes da div do mapa nao deveria existir…
No documento HTML roda normal ne?