Ir para o conteúdo principal

Microsoft Dynamics CRM´s Scrapbook
By Carlos Amorim Junior

  

Microsoft Dynamics CRM´s Scrapbook > Postagens > Google Maps no Dynamics CRM
dezembro 22
Google Maps no Dynamics CRM

Olá,

Uma das postagens que mais renderam comentários por email foi a “Utilizando o Live Maps no Dynamics CRM”. Uma das razões dos comentários é a crítica em relação ao serviço no Brasil, pois algumas áreas ainda não têm precisão de detalhes e terrenos. Assim, os usuários clamam por exemplos de integração com o Google Maps.

Abaixo, uma sugestão para desenvolver a mesma solução com o Google Maps. Como minha intenção não é explicar cada trecho do código, evitarei colar pedacinhos e no final colocarei o código HTML completo.

1 – Acessando a página http://code.google.com/intl/pt-BR/apis/maps/documentation/examples/geocoding-simple.html , temos um exemplo de como funciona a API do Google Maps. Com o botão direito do mouse, selecionando “view source” teremos acesso ao código HTML que serivá de base para nossa implementação.

2 – No código, existe um textbox e um botão, que não usaremos. Após removê-los, podemos subistituir o parâmetro de entrada da função para receber o valor oriundo do formulário da conta no Dynamics CRM.

3 – Na página http://code.google.com/intl/pt-BR/apis/maps/signup.html , gere uma chave de acesso a API do Google Maps(gratiuta) para seu site e substitua no local adequado do HTML.

4 – Salve sua página na pasta ISV da estrutura do Dynamics CRM.

5 – Crie uma guia no formulário de contas e adicione uma seção e um frame. Desabilite a restrição de scripts. Aponte a url para /ISV/pagina.html. Publique!

6 – No final, a página estará próxima disso:

<!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:v="urn:schemas-microsoft-com:vml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <title>Endereço do Cliente</title>
    <script src=http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=SUACHAVEAQUI type="text/javascript"></script>
    <script type="text/javascript">
    var map = null;
    var geocoder = null;
    function initialize() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_canvas"));
        map.setCenter(new GLatLng(-23.32,-46.37), 3);
        geocoder = new GClientGeocoder();
      }
    }
    function showAddress() {
    var logradouro = parent.document.forms[0].all.address1_name.DataValue;

   //Aqui poderemos melhorar os dados do enrereço com cidade, bairro, cep, etc.
    var address = logradouro;
      if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert(address + " not found");
            } else {
              map.setCenter(point, 15);
              var marker = new GMarker(point);
              map.addOverlay(marker);
              marker.openInfoWindowHtml(address);
            }
          }
        );
      }
    }
    </script>
  </head>
  <body onload="initialize(); showAddress();" onunload="GUnload()">
   <div id="map_canvas" style="width: 100%; height: 480px"></div>
  </body>
</html>

O resultado será exibido conforme a imagem:

Map

Observando as APIs, podemos ir mais longe e construir coisas interessantes como a rota da nossa empresa para o cliente, com a kilometragem que será gasta, por exemplo.

Param quem não é desenvolvedor, essa postagem pode ter sido rápida demais, por isso, farei um vídeo com mais detalhes da solução e em breve avisarei.

[]´s

Carlos Amorim Junior
"Trabalhe com amor, divida seu conhecimento com a comunidade."
http://www.dynamicscrm.com.br

Comentários

dúvida

Carlos,
Estou tentando gerar uma chave para meu site, porém ao colocar a chave fornecida sempre aparece a mensagem Este website precisa de uma chave diferente para a API do Google Maps.

o meu CRM não esta publicado na web. seria http://server:5555 ou então via ip http://ip:5555.

como devo fazer?
 em 22/04/2010 11:57

Calcular distância entre dois endereços

Carlos,

Estou precisando de uma solução bem parecida. Estou precisando calcular a distância entre 2 endereços dentro do CRM e que o mesmo mostre a rota com o mapa. Vc tem alguma coisa parecida para me passar?

Desde já agradeço.
 em 23/06/2010 09:45

Video da Google Maps no CRM 4.0

Amorim,

Como não sou desenvolvedor, ainda espero pelo video tutorial de como colocar o Google Maps dentro do Dynamics CRM para localizarmos o endereço do cliente.

Fico no Aguardo, grande Abraço!
 em 05/07/2010 17:21

Adicionar Comentários

Título


Corpo *


Anexos