Autor Tópico: API V3 - Google MAPS  (Lida 8966 vezes)

jovitomelo

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 916
    • Simples Assim
    • Email
API V3 - Google MAPS
« Online: Maio 21, 2013, 08:09:38 pm »
Pessoal,

Alguém conseguiu implementar alguma aplicação com a API V3 do Google?
Jovito Melo
Maceió - Alagoas

FredKeyster

  • Expert
  • *****
  • Mensagens: 1702
  • DEWENNINMEN
    • Email
Re:API V3 - Google MAPS
« Responder #1 Online: Maio 21, 2013, 08:21:18 pm »
Isso muito me interessa também!

Estou estudando essa API, já fiz em websites, mas nunca implementei no SC. Sempre pego as documentações aqui: https://developers.google.com/maps/documentation/javascript/examples/map-geolocation?hl=pt-br
F. A.
Analista de Sistemas

George Carvalho

  • Expert
  • *****
  • Mensagens: 1371
    • Email
Re:API V3 - Google MAPS
« Responder #2 Online: Maio 21, 2013, 08:54:00 pm »
Na versão lançada hoje:

Novas Implementações

Atualização dos campos Google Maps para API v3, não precisa informar a API.
George Carvalho
Porto de Galinhas/PE

jovitomelo

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 916
    • Simples Assim
    • Email
Re:API V3 - Google MAPS
« Responder #3 Online: Maio 21, 2013, 09:03:12 pm »
George,

Esta solução não serve pra mim... ele disponibilizou via GeoCode, mas Latitude e Longitude não está funcionando - e a diferença entre ambos é muito grande...


Jovito Melo
Maceió - Alagoas

Allan Medeiros

  • Expert
  • *****
  • Mensagens: 504
    • Email
Re:API V3 - Google MAPS
« Responder #4 Online: Maio 21, 2013, 10:07:58 pm »
Estamos finalizando esta aplicação: http://www.sudema.pb.gov.br/index.php?option=com_content&view=article&id=78&Itemid=100013
O mapa é gerado usando a API do Google baseada nos dados cadastrados em banco de dados.
Tudo é gerado via Scriptcase.
[]s
Allan Medeiros
Allan Medeiros
Analista de Informática
__________________________________________
Companhia de Processamento de Dados da Paraíba
medeiros@codata.pb.gov.br

jovitomelo

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 916
    • Simples Assim
    • Email
Re:API V3 - Google MAPS
« Responder #5 Online: Maio 21, 2013, 10:43:22 pm »
Allanmedeiros,

Não consegui ver o exemplo. Veja se você pode me ajudar com o meu exemplo abaixo

Este código pode ser colocado em uma aplicação tipo blank, basta copiar e colar - mais nada.

//////////////--------------------Aqui começa o script completo da API V3-------------------------------------------------------------
//Buscando as Coordenadas na tabela wpoints...

sc_lookup(data_coord,"SELECT wpoints_lat,wpoints_long FROM wpoints WHERE wpoints_id = [var_wpt]");
$latitude = {data_coord[0][0]};
$longitude = {data_coord[0][1]};
$lat = explode(' ',TRIM($latitude));
$lat_sinal = substr($lat[0],0,1);
$lat_grau  = substr($lat[0],1,2);
$lat_min   = $lat[1];
$long = explode(' ',$longitude);
$long_sinal = substr($long[0],0,1);
$long_grau  = substr($long[0],1,2);
$long_min   = $long[1];
$latitude_1 = $lat_grau + ($lat_min /60);
$longitude_1 = $long_grau + ($long_min /60);
if($lat_sinal == 'S')
{
   $latitude_1 = $latitude_1 * -1;
}
if($long_sinal == 'W')
{
   $longitude_1 = $longitude_1 * -1;
}

$_coord = '';
foreach({data_coord} as $coordenadas)
{
   $latitude = $coordenadas[0];
   $longitude = $coordenadas[1];
   $lat = explode(' ',TRIM($latitude));
   $lat_sinal = substr($lat[0],0,1);
   $lat_grau  = substr($lat[0],1,2);
   $lat_min   = $lat[1];
   $long = explode(' ',$longitude);
   $long_sinal = substr($long[0],0,1);
   $long_grau  = substr($long[0],1,2);
   $long_min   = $long[1];
   $latitude = $lat_grau + ($lat_min /60);
   $longitude = $long_grau + ($long_min /60);
   if($lat_sinal == 'S')
   {
      $latitude = $latitude * -1;
   }
   if($long_sinal == 'W')
   {
      $longitude = $longitude * -1;
   }
}

// Desenhando no GoogleMaps API V3...

$_head = "
<!DOCTYPE html>
<html>
  <head>
    <title>Simple Map</title>
    <meta name='viewport' content='initial-scale=1.0, user-scalable=no'>
    <meta charset='utf-8'>
    <style>
      html, body, #map-canvas {
        margin: 0;
        padding: 0;
        height: 100%;
      }
    </style>
    <script src='https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false'></script>
    <script>

var map;
function initialize() {
  var myLatlng = new google.maps.LatLng(".$latitude.",".$longitude.");
  var mapOptions = {
    zoom: 16,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  map = new google.maps.Map(document.getElementById('map-canvas'),
      mapOptions);
  var marker = new google.maps.Marker({
      position: myLatlng,
      map: map,
      title: 'Hello World!'
  });
}

google.maps.event.addDomListener(window, 'load', initialize);

    </script>
  </head>
  <body>
    <div id='map-canvas'></div>
  </body>
</html>
";
$escrever = ($_head);
echo $escrever;
///////////////////---------------Aqui termina o script----------------------------------------------------

Para que tudo funcione bem é preciso que haja uma tabela denominada wpoints com os seguintes campos

wpoints_id
wpoints_lat
wpoints_long

Um exemplo de latidue é: S9 45.817
Um exemplo de longitude é: W36 39.296

Se você executar o código ele abre o GoogleMaps

Verá as imagens abaixo





Como vocês podem observar existe uma diferença grosseira entre o Mapa e o Satélite - O correto é o Modo Satélite

Meu problema atual é alterar o código acima de modo que abra apenas o Google Earth e não o Google Maps.

Será que alguém pode me ajudar?

Forte Abraço
« Última modificação: Maio 23, 2013, 10:25:56 am por jovitomelo »
Jovito Melo
Maceió - Alagoas

Allan Medeiros

  • Expert
  • *****
  • Mensagens: 504
    • Email
Re:API V3 - Google MAPS
« Responder #6 Online: Maio 21, 2013, 10:58:04 pm »
Jovito,
Na function initialize() altere o mapTypeId de google.maps.MapTypeId.ROADMAP para mapTypeId:google.maps.MapTypeId.SATELLITE (ou mapTypeId:google.maps.MapTypeId.HYBRID)
Deve funcionar.
[]s
Allan Medeiros
Analista de Informática
__________________________________________
Companhia de Processamento de Dados da Paraíba
medeiros@codata.pb.gov.br

jovitomelo

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 916
    • Simples Assim
    • Email
Re:API V3 - Google MAPS
« Responder #7 Online: Maio 21, 2013, 11:18:29 pm »
Funfou legal...

Agora tá 10...

Obrigado cara... só não consegui ver o que você fez...

Bem, fica o exemplo pra quem quiser utilizar, tá legal, não precisa da Chave...

Vejam o resultado final dentro do meu sistema SC



Salam Aleikum
« Última modificação: Maio 21, 2013, 11:24:07 pm por jovitomelo »
Jovito Melo
Maceió - Alagoas

Allan Medeiros

  • Expert
  • *****
  • Mensagens: 504
    • Email
Re:API V3 - Google MAPS
« Responder #8 Online: Maio 21, 2013, 11:19:36 pm »
Tava fora do ar mas tá ok agora.

[]s
Allan Medeiros
Analista de Informática
__________________________________________
Companhia de Processamento de Dados da Paraíba
medeiros@codata.pb.gov.br

fabriciod

  • Intermediário
  • ***
  • Mensagens: 103
  • sp 8.1
    • callcenter para Sac empresarial
    • Email
Re:API V3 - Google MAPS
« Responder #9 Online: Maio 22, 2013, 09:44:02 am »
bom dia,

qual o tipo de conveção das cordenadas,

eu estou pegando do meu gps e tá dando erado.

Atenciosamente

Fabricico 
Fabricio Dantas
Etherline Callcenter 24 horas
www.omnesistema.com.br
sistema para provedor de internet
Serviço de callcenter Sac Empresarial.
skyper fabriciodantas
ffdbarbosace@gmail.com
grupo scriptcase zapzap 85 98558084

jovitomelo

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 916
    • Simples Assim
    • Email
Re:API V3 - Google MAPS
« Responder #10 Online: Maio 22, 2013, 12:17:56 pm »
fabriciod,

Formato das coordenadas =>    GG MM.MMM   (Graus Minutos.Décimos_de_minutos)
Jovito Melo
Maceió - Alagoas

Celso R.

  • Expert
  • *****
  • Mensagens: 941
Re:API V3 - Google MAPS
« Responder #11 Online: Maio 23, 2013, 02:59:14 am »
Bom dia.
Isso Funciona no SC6?
Celso R.
________________________________
SC - V 8

fabriciod

  • Intermediário
  • ***
  • Mensagens: 103
  • sp 8.1
    • callcenter para Sac empresarial
    • Email
Re:API V3 - Google MAPS
« Responder #12 Online: Maio 23, 2013, 09:04:06 am »
Funcioando redondo,

100%, muito bom mesmo.

Agradeço jovito melo
Fabricio Dantas
Etherline Callcenter 24 horas
www.omnesistema.com.br
sistema para provedor de internet
Serviço de callcenter Sac Empresarial.
skyper fabriciodantas
ffdbarbosace@gmail.com
grupo scriptcase zapzap 85 98558084

jovitomelo

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 916
    • Simples Assim
    • Email
Re:API V3 - Google MAPS
« Responder #13 Online: Maio 23, 2013, 10:01:41 pm »
Pessoal,

Ajustei o script para vários pontos.... o anterior era para um ponto apenas.

Este código pode ser colocado em uma aplicação tipo blank, basta copiar e colar - mais nada.

///////////////////---------------Aqui inicia o script----------------------------------------------------
// Buscando as Coordenadas...
sc_lookup(data_coord,"SELECT wpoints_lat,wpoints_long,wpoints_descricao FROM wpoints ");
$latitude = {data_coord[0][0]};
$longitude = {data_coord[0][1]};
$lat = explode(' ',TRIM($latitude));
$lat_sinal = substr($lat[0],0,1);
$lat_grau  = substr($lat[0],1,2);
$lat_min   = $lat[1];
$long = explode(' ',$longitude);
$long_sinal = substr($long[0],0,1);
$long_grau  = substr($long[0],1,2);
$long_min   = $long[1];
$latitude_1 = $lat_grau + ($lat_min /60);
$longitude_1 = $long_grau + ($long_min /60);
if($lat_sinal == 'S')
{
   $latitude_1 = $latitude_1 * -1;
}
if($long_sinal == 'W')
{
   $longitude_1 = $longitude_1 * -1;
}

$novo_array = '';
$novo_wpt = '';
$nome_wpt = '';
foreach({data_coord} as $coordenadas)
{
   $latitude = $coordenadas[0];
   $longitude = $coordenadas[1];
   $wpt = 'P'.$coordenadas[2];
   $lat = explode(' ',TRIM($latitude));
   $lat_sinal = substr($lat[0],0,1);
   $lat_grau  = substr($lat[0],1,2);
   $lat_min   = $lat[1];
   $long = explode(' ',$longitude);
   $long_sinal = substr($long[0],0,1);
   $long_grau  = substr($long[0],1,2);
   $long_min   = $long[1];
   $latitude = $lat_grau + ($lat_min /60);
   $longitude = $long_grau + ($long_min /60);
   if($lat_sinal == 'S')
   {
      $latitude = $latitude * -1;
   }
   if($long_sinal == 'W')
   {
      $longitude = $longitude * -1;
   }
   $novo_array = $novo_array.'    var '.$wpt.' = new google.maps.LatLng('.$latitude.','.$longitude.');'."\n";
   $novo_wpt = $novo_wpt.$wpt.',';
   $nome_wpt = $nome_wpt."'".$wpt."',";
}
$novo_wpt = 'var locationArray = ['.$novo_wpt.'];'."\n";
$nome_wpt = 'var locationNameArray = ['.$nome_wpt.'];'."\n";
$_head = "
<!DOCTYPE html>
<html>
  <head>
    <title>Simple Map</title>
    <meta name='viewport' content='initial-scale=1.0, user-scalable=no'>
    <meta charset='utf-8'>
    <style>
      html, body, #map-canvas {
        margin: 0;
        padding: 0;
        height: 100%;
      }
    </style>
    <link href='/maps/documentation/javascript/examples/default.css' rel='stylesheet'>
    <script src='https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false'></script>
    <script>\n".$novo_array.$novo_wpt.$nome_wpt."
   var map;
   function initialize()
      {
         var myLatlng = new google.maps.LatLng(".$latitude.",".$longitude.");
         var mapOptions =
         {
            zoom: 16,
            center: myLatlng,
            mapTypeId: google.maps.MapTypeId.SATELLITE
           };
         map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions);
         var coord;
           for (coord in locationArray)
         {
            new google.maps.Marker({
            position: locationArray["."coord],
            map: map,
            title: locationNameArray["."coord]
            });
         }
      }
   google.maps.event.addDomListener(window, 'load', initialize);
    </script>
  </head>
  <body>
    <div id='map-canvas'></div>
  </body>
</html>
";
$escrever = ($_head);
echo $escrever;
///////////////////---------------Aqui termina o script----------------------------------------------------

« Última modificação: Maio 24, 2013, 12:38:45 am por jovitomelo »
Jovito Melo
Maceió - Alagoas

Celso R.

  • Expert
  • *****
  • Mensagens: 941
Re:API V3 - Google MAPS
« Responder #14 Online: Maio 24, 2013, 01:58:29 pm »
Jovito Boa tarde.
Me perdoe se a minha pergunta é tola.
Essa tabela wpoints 'e alimentada na mão tipo, a pessoa vai a campo com um gps e levanta as coordenadas?

Um abraço
Celso R.
________________________________
SC - V 8