Ver la Versión Completa : [PowerCOBOL] Google Maps localización
Rapinto
6 de abril de 2015, 01:29
Não sei se interessa a alguém, mas podemos a partir do Fujitsu Cobol, abrir o Google Maps, passando uma morada (rua ou Av., postal code cidade, pais) e mostrar logo o localização.
É muito simples:
Basta criar um URL do tipo:
MOVE
"http://maps.google.com/maps? f=q&hl=en&geocode=&time=&date=&ttype=&q=@ADDR@&ie=UTF8&t=m" TO URL.
Substituindo "@ADDR@" pela morada+cidade+pais
em seguida executar o comando:
INVOKE POW-SELF "Execute" USING CALLBROWSER.
a variável CALLBROWSER é igual a "iexplore.exe URL"
Se quiserem posso carregar um pequeno exemplo.
(Também podem utilizar o Yahoo, substituindo o URL por :
"http://maps.yahoo.com/maps_result.php?q1=@ADDR@" )
Saludos,
Rui Pinto
Josber
6 de abril de 2015, 09:59
Pues si no te importa poner/subir un ejemplo, sería de agradecer Rui.
Muchas gracias
Un saludo.-
Rapinto
6 de abril de 2015, 18:40
Josber,
Aqui vai.
Está em PowerCobol Ver. 9.0
Para a vista externa deve ser alterada a localização e nome do browser.
Para a vista interna, tem que acrescentar o objecto ieframe.dll da Microsoft.
Saludos,
Rui
Adrianeloy
7 de abril de 2015, 21:12
Tambien funciona ejecutar en cualquier DDE esta linea:
cmd /c start https://www.google.com.ar/maps/@-32.9531356,-60.6575539,15z
Yo lo hago en mis programas de PowerCobol V3.
De ese modo se abre la pagina con el navegador predeterminado de Windows.
Ej:
01 LINEA PIC X(256).
MOVE "cmd /c start https://www.google.com.ar/maps/@-32.9531356,-60.6575539,15z" TO LINEA.
CALL EXECAPL OF DDE1 USING LINEA POW-SWNORMAL.
adrianeloy, usa los botones CODE, COBOL etc. de resalto de sintaxis.
Eslopes
2 de septiembre de 2015, 13:23
Olá,
podemos levar a integração com o browser um passo adiante. Tenho um exemplo de integração com o GoogleMaps que permite a uma aplicação PowerCobol não apenas carregar o mapa num determinado endereço, mas executar funções Javascript, passando parâmetros e recebendo de volta valores das funções dentro do html
O exemplo está em inglês, mas é muito fácil de se entender.
GoogleMaps + Cobol
(http://www.100coolthings.net/Things/Web20/GoogleMapsCobol/tabid/152/Default.aspx)
O segredo é a capacidade do Power de manipular objetos COM:
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 webBrowserCom usage object reference COM. *> será usado para referenciar o objeto WebBrowser1
01 document usage object reference COM. *> representa o documento HTML carregado no WebBrowser1
01 parentWindow usage object reference COM. *> representa o topo da hierarquia DOM do HTML
Primeiro, carregamos a página Web no objeto WebBrowser1:
INVOKE WebBrowser1 "Navigate" USING "http://www.100coolthings.net/Portals/3/GoogleMapsAPI.html"
Segundo, precisamos converter um objeto POWER para o tipo COM:
CALL "POWERCONVTOCOM" USING WebBrowser1 returning webBrowserCom
Em seguida obtemos o objeto que representa o HTML carregado
invoke webBrowserCom "GET-Document" returning document
Agora obtemos o objeto que representa o topo da hierarquia DOM do HTML carregado no WebBrowser1:
invoke document "GET-parentWindow" returning parentWindow
A partir deste momento podemos executar QUALQUER Javascript que exista na página:
invoke parentWindow "execScript" using "findLocation('Colatina, ES, BR');" & x"00"
No caso a URL usada aponta para uma página HTML que contém o seguinte Javascript:
// findLocation is called by PowerCobol to look for a location based in the passed address
function findLocation(address) {
document.forms[0].q.value = address;
showLocation();
}
Se quisermos obter um valor de retorno, podemos declarar o INVOKE da seguinte forma:
invoke parentWindow "execScript" using "findLocation('Colatina, ES, BR');" & x"00" RETURNING retorno
"retorno" seria uma variável PIC X(n).
Dá para usar jQuery, Mootols, montar telas em HTML5, usar componentes online ou offline (html local) etc , etc, etc...
Pensem nas possibilidades :)
Saludos, Emerson
eslopes, usa el resalto de sintaxis (sintax highlight buttons)
---------- Post added at 08:23 ---------- Previous post was at 08:06 ----------
Olá, agora entendi o que significa "usa el resalto de sintaxis (sintax highlight buttons)" rs...
Vou usar este recurso na próxima vez (antes eu achava que o forum fazia isto automaticamente, rs.
Saludos, Emerson
Galileo
19 de diciembre de 2015, 22:02
Tambien funciona ejecutar en cualquier DDE esta linea:
cmd /c start https://www.google.com.ar/maps/@-32.9531356,-60.6575539,15z
Yo lo hago en mis programas de PowerCobol V3.
De ese modo se abre la pagina con el navegador predeterminado de Windows.
Ej:
01 LINEA PIC X(256).
MOVE "cmd /c start https://www.google.com.ar/maps/@-32.9531356,-60.6575539,15z" TO LINEA.
CALL EXECAPL OF DDE1 USING LINEA POW-SWNORMAL.
adrianeloy, usa los botones CODE, COBOL etc. de resalto de sintaxis.
Correcto. Es más, en mis programillas la ayuda consistía en un fichero HTML y usaba este método para invocarla: CALL EXECAPL OF PRINCIPAL USING "EXPLORER AYUDA.HTM".
Joseg
13 de noviembre de 2018, 19:57
Necessito de uma integração com o Google Maps, do tipo, pesquisar uma determinada morada (parece fácil com os exemplos aqui mostrados), e devolver as coordenadas da morada seleccionada para registar numa tabela.
Alguém consegui uma iteração total ou parcial com o Google Maps?
Gracias
Galileo
11 de diciembre de 2018, 19:09
Esto funciona en PowerCOBOL 3.0:
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 LLAMADA.
02 FILLER PIC X(9) VALUE "explorer ".
02 FILLER PIC X(1) VALUE QUOTE.
02 FILLER PIC X(69) VALUE "http://maps.google.com/maps?f=q&hl=en&geocode=&time=&date=&ttype=&q=@".
02 DIRECC PIC X(80) VALUE SPACES.
02 FILLER PIC X(13) VALUE "@&ie=UTF8&t=m".
02 FILLER PIC X(1) VALUE QUOTE.
PROCEDURE DIVISION.
MOVE "fuenlabrada+madrid" TO DIRECC.
CALL EXECAPL OF SHEET1 USING LLAMADA.
En DIRECC pueden quedar muchos espacios al final, pero se gestionan automáticamente, por lo que no es un problema.
vBulletin v3.8.7, Derechos ©2000-2026, Jelsoft Enterprises Ltd.