Hoy vamos a ver un sencillo ejemplo de cómo integrar mapas en Microsoft Dynamics CRM aprovechando el API de VirtualEarth de Windows Live! Digo sencillo, porque es solo una burda muestra de las posibilidades que nos da este API para conseguir mostrar información geográfica en el CRM.
El objetivo es tener una pestaña en el formulario de cuentas donde poder visualizar un mapa centrado en la dirección de la cuenta. Es decir, un mapa centrado en la ubicación de nuestro cliente.

Para ello no tenemos más que crear una página web con el siguiente código:
<html xmlns=»http://www.w3.org/1999/xhtml» >
<head>
<title></title>
<meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″/>
<script src=»http://dev.virtualearth.net/mapcontrol/v3/mapcontrol.js»>
</script>
<script>
var map = null;
function GetMap()
{
var pais = parent.document.forms[0].all.address1_country.DataValue;
var provincia = parent.document.forms[0].all.address1_stateorprovince.DataValue;
var ciudad = parent.document.forms[0].all.address1_city.DataValue;
map = new VEMap(‘myMap’);
map.LoadMap();
if(ciudad!=») map.FindLocation(ciudad+‘, ‘+provincia+‘, ‘+pais);
else map.FindLocation(‘Madrid, España’);
}
</script>
</head>
<body onload=»GetMap();»>
<div id=’myMap’ style=»position:relative; width:auto; height:auto; «></div>
</body>
</html>
Si os fijáis en el código veréis que mediante JavaScript accedemos a los valores de ciudad, provincia y pais del formulario de Cuenta del CRM. Para luego utilizarlos para fijar la posición del mapa. Al acceder a esos campos estamos utilizando cross-site scripting, por lo que tendremos que habilitar explícitamente esta opción en el IFrame.Si qureis saber más sobre el API y las funcionalidades de los mapas bajaros el SDK de Virtual Earth.
Para guardarla crearemos un directorio dentro del sitio web de Dynamics CRM con el objetivo de poder referenciar sencillamente la página en el IFrame que vamos a crear. En mi caso C:Archivos de ProgramaMS CRMCRMWebvemapsvemap.htm
Una vez guardada sólo nos resta acceder a Personalización de Entidades en Microsoft Dynamics CRM y abrir la entidad cuenta. Dentro de esta buscaremos el formulario principal y lo editaremos, añadiendo una nueva pestaña que contendrá una nueva sección, que a su vez contendrá el nuevo IFrame. En las propiedades del IFrame indicaremos la url de la página que hemos creado (ie: /vemaps/vemap.htm) y habilitaremos el cross-site scripting.

Guardamos los cambios, salimos y publicamos las personalizaciones, y ya podemos comprobar como al abrir una cuenta tenemos la nueva pestaña con el mapa centrado en su localización
Esto, es un sencillo ejemplo de las posibilidades que nos brindan los IFrames para integrar aplicaciones en el CRM, y de las posibilidades que nos da el API de Virtual Earth para integrar mapas en el CRM. Imaginad mostrar sobre un mapa la distribución geográfica de nuestros clientes, calcular rutas de visita para comerciales… hay un sinfín de posibilidades. ¿Se os ocurren más? ¿Alguna experiencia con Información Geográfica?
Espero que os haya gustado el ejemplo, un saludo
Marco Amoedo Martínez