Distancia del script entre PDI (sitios de clientes)

Este script calcula la distancia entre los sitios de clientes (POIs) que un activo está visitando y devuelve esa distancia en metros. Puedes ver estos datos en un reporte estándar EV1000.

mceclip0.png

Requisitos

Para usar este reporte, necesitas tener POIs configurados en tu aplicación.

Configuración

1. Importa Script Expression - distance between POIs.xml, que contiene una expresión de script con la solución programada (lee cómo importar una Regla de Evento para más información).

2. Modifica el valor Mi Categoría de POI (del script), con el nombre del grupo de categoría de POI de tu aplicación.

3. Configura un reporte EV1000 para ser usado con este script.

El Script

Pegamos el script que está contenido en la Regla de Evento, aquí como referencia.

// INICIO DEL SCRIPT


// Reemplace 'My POI Category' con el nombre de la categoría de POI donde tiene sus sitios de clientes.


var
 pois 
=
 poi
.
find
(
trackPoint
.
position
.
longitude
,
 trackPoint
.
position
.
latitude
,
 
500
,
 
'My POI Category'
)


var
 arrived 
=
 
false
;


if
(
pois
.
length 
>
 
0
)


{

  context
.
setVariable
(
'ClientName'
,
 pois
[
0
].
name
);


// Llegó al cliente. Establecer distancia.

  context
.
setVariable
(
'Distance'
,
 report
.
context
.
distance
);

  arrived 
=
 
true
;


}


else


{

  context
.
setVariable
(
'ClientName'
,
 
'-'
);


}


// Restablecer distancia si acabamos de salir del sitio del cliente.


var
 
last
 
=
 context
.
state
;


if
(
last
 
!=
 
null
 
&&
 
last
.
arrived 
==
 
true
 
&&
 arrived 
==
 
false
)

// Acabamos de dejar al cliente, establecer la distancia a cero

  report
.
context
.
setDistance
(
0
);


// Recordar si estuvimos en el cliente para el próximo mensaje.

context
.
setState
({
arrived
:
arrived
});


return
 arrived
;


// FIN DEL SCRIPT

Utilice el reporte EV1000 para mostrar el reporte.