Crear un enlace a Streetview en la Ventana Emergente con Arcade

Document created by xander_bakker on Oct 25, 2017
Version 1Show Document
  • View in full screen mode

En el documento Determinar Días Hábiles y Horas Horario de Trabajo con Arcade mostramos una manera para visualizar el tiempo que está abierto una solicitud. En este documento mostramos como podemos trabajar con la geometría (en caso que la capa está publicado con GCS_WGS1984) para generar un URL y visualizar la ubicación del punto en Streetview de Google:

 

 

Haciendo clic sobre el enlace abre una nueva pestaña con streetview:

 

Para lograr esto debemos contar con:

  • puntos publicados en GCS_WGS1984 o
  • features con atributos de latitud y longitud 

 

En la configuración de la ventana emergente podemos adicionar la siguiente expresión Arcade:

 

Expresión:

// Get Lat Lon from geometry (if sr=GCS_WGS1984)
var lat = Geometry($feature).Y;
var lon = Geometry($feature).X;

// Or get it from attributes (if available)
var lat = $feature.Latitude;
var lon = $feature.Longitude;

// http://maps.google.com/?cbll={Lat},{Lon}&cbp=12,90,0,0,5&layer=c
var url = "http://maps.google.com/?cbll=" + lat + "," + lon + "&cbp=12,90,0,0,5&layer=c";

return url;

 

Además configuramos que la ventana emergente muestre una visualización de atributo personalizado:

 

Con el siguiente código HTML:

<img alt="Streetview" src="http://cdnau.ibtimes.com/sites/au.ibtimes.com/files/2015/10/14/google-street-view-logo.png" width="75" />
<a href="{expression/expr0}">Ver en Google Streetview</a>

 

En caso de tener lineas también se puede hacer algo similar para el punto inicial o final de la linea. Ver la expresión Arcade abajo:

Function GetFirstPoint(line) {
    var paths = geom["paths"];
    var first_point = Point(paths[0][0]);
    return first_point;   
}

Function GetLastPoint(line) {
    var paths = geom["paths"];
    var last_point = Point(paths[0][-1]);
    return last_point;   
}

var geom = Geometry($feature);

var first_point = GetFirstPoint(geom);
var x = first_point.x;
var y = first_point.y;
// o:
var last_point = GetLastPoint(geom);
var x = first_point.x;
var y = first_point.y;

// http://maps.google.com/?cbll={Lat},{Lon}&cbp=12,90,0,0,5&layer=c
var url = "http://maps.google.com/?cbll=" + y + "," + x + "&cbp=12,90,0,0,5&layer=c";

return url;
1 person found this helpful

Attachments

    Outcomes