sobrou para mim.
O sistema manda a cada um minuto um arquivo .txt com os dados da localização de cada veículo para uma asta no servidor dele.
O conteúdo é este:
Código: Selecionar todos
SeqControleArquivo;IdIntegracao;DataGeracaoArquivo;ClienteCnpj;IdHistorico;DataSistema;VeiculoPlaca;VeiculoDescricao;VeiculoClienteCnpj;DataOcorrencia;Localizacao;Referencia;Tensao;Latitude;Longitude;Velocidade;Ignicao;Odometro;Horimetro;Temperatura1;Umidade1
1166444;1;2016-03-17 09:22:35;1761298000115 ;968693778;2016-03-17 09:22:24;MJW 2878;MJW 2878;1761298000115 ;2016-03-17 09:21:40;Av Atlântica, 1311 - (Balneário Camboriú) - SC - BR;;14.1;-48.63425400;-26.98175600;28;1;160492.268;652;-12.6;95
1166444;1;2016-03-17 09:22:35;1761298000115 ;968693924;2016-03-17 09:22:26;QHD 0753;QHD 0753;1761298000115 ;2016-03-17 09:21:49;Rod BR-280 - (Guaramirim) - SC - BR;;14.4;-48.91982600;-26.45364900;70;1;37314.252;949;;
1166444;1;2016-03-17 09:22:35;1761298000115 ;968693944;2016-03-17 09:22:27;MLW 6907;MLW 6907;1761298000115 ;2016-03-17 09:21:50;R Bahia, 272 - (Araucária) - PR - BR;LANCHONETE AVENIDA;14.1;-49.38658900;-25.59807000;20;1;40620.14;761;;
Do meu lado tenho um arquivo .dbf que tem os campos:
svc_cod
cidade
bairro
endereco
Exemplo:
Código: Selecionar todos
svc_cod cidade bairro endereco
0003476 Curitiba Santa Candida Rua Joaquin Nabuco, 125
0005478 Curitiba Boa Vista Rua Canada, 550
0008654 Curitiba Centro Rua Nilo Cairo,770
uma vez que a ordem exista abrir o Google Maps com os pontos dos veículos em uma cor e o ponto
do endereço do cliente em outra cor.
A única experiencia que tive com o google maps foi a de traçar o caminho entre o endereço
da loja até o cliente que foi baseada em um sample postado aqui no fórum:
Código: Selecionar todos
**************************************
FUNCTION goo_cmda()
**************************************
LOCAL oMapa, mde_uf, mpara_uf, mde_cid, mpara_cid, mde_rua, mpara_rua, mweb
WHILE .T.
mYcomand := 0
@ 07,08 SAY 'N§ COMANDA.: ' GET mYcomand PICT('9999999999') VALID(mYcomand > 0)
cur(1); READ; cur(0)
IF LASTKEY() == K_ESC; RETURN; END
SELE hist_vda; sset(1); SEEK STRZERO(mYcomand,10)
IF EOF()
avs('COMANDA NŽO ENCONTRADA...')
LOOP
END
SELE cliente ; sset(5); SEEK hist_vda->cod_cli
@ 08,07 SAY REPL('-',50)
@ 09,07 SAY 'CLIENTE..: ' + razao_scl
@ 10,07 SAY 'ENDERE€O.: ' + endereco
@ 11,07 SAY 'BAIRRO...: ' + bairro
IF !conf('DADOS CORRETOS ?',17,30)
LOOP
END
mde_uf := mpara_uf := space(20)
mde_cid := mpara_cid := space(40)
mde_rua := mpara_rua := space(50)
*** "DE" ***
mde_uf := mAps_uf
mde_cid := mAps_cid
mde_rua := mAps_end
*** "PARA" ***
mpara_uf := mAps_uf
mpara_cid := mAps_cid
mpara_rua := cliente->endereco
mde_uf := alltrim( mde_uf ) ; mpara_uf := alltrim( mpara_uf )
mde_cid := alltrim( mde_cid ); mpara_cid := alltrim( mpara_cid )
mde_rua := alltrim( mde_rua ); mpara_rua := alltrim( mpara_rua )
mweb := "https://maps.google.com.br/maps?f=d&source=s_d&saddr="+;
lower(strtran(alltrim(mde_rua)," ","+"))+"+"+;
lower(strtran(alltrim(mde_cid)," ","+"))+"+-+"+;
lower(strtran(alltrim(mde_uf)," ","+"))+;
"&daddr="+lower(strtran(alltrim(mpara_rua)," ","+"))+"+"+;
lower(strtran(alltrim(mpara_cid)," ","+"))+"+-+"+;
lower(strtran(alltrim(mpara_uf)," ","+"))
myrun( mYbrow + " " + mweb, .F. )
**************************
* mYbrow é o browser que o cliente escolheu para abrir, chrome, firefox, opera, IE, etc
**************************
EXIT
END
**********************************
FUNCTION MyRun( cComando, lTip )
**********************************
LOCAL oShell, RET:=0
oShell := win_oleCreateObject( "WScript.Shell" )
IF lTip
RET := oShell:Run( "%comspec% /c " + cComando, 0, .T. )
ELSE
oShell:Exec( cComando )
END
oShell := NIL
RETURN IIF( RET = 0, .T., .F. )



