SharePoint 2013: Como crear una columna de tipo geolocalizada (I)

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Como sabéis, a nivel de tipos de campo SharePoint 2013 incluye un tipo nuevo qué es el de de geolocalización lo que nos permite agregar columnas de este tipo en tipos de contenido, listas y bibliotecas de SharePoint. En este primer post os voy a demostrar como crear una columna de este tipo en una lista por medio de PowerShell:

  • En primer lugar, y antes de empezar, necesitáis haceros con una clave de uso de Bing Maps: http://msdn.microsoft.com/en-us/library/ff428642.aspx
  • A continuación, y ya a nivel de SharePoint, tenéis que indicar bien a nivel de sitio de SharePoint o a nivel de granja que se va a usar esa clave. Para indicarlo a nivel de granja, simplemente ejecutamos el comando PowerShell Set-SPBingMapsKey como os indico a continuación.
   1: Set-SPBingMapsKey –BingKey "ClaveBingMaps"

  • Lo siguiente que haremos es crear en un sitio de SharePoint una lista a la que le añadiremos una columna de tipo geolocalización. Fijaros en el script que viene a coninuación como añadir esa columna simplemente consiste en especificar el esquema XML de la misma y añadir la columna a la lista (SPList) mediante el método AddFieldAsXml.
   1: Add-PSSnapin Microsoft.SharePoint.Powershell

   2:  

   3: #Acceso al sitio de SharePoint

   4: $webUrl="http://winsrv2012:90/sitios/TDEVCR/"

   5: $SPWeb = Get-SPWeb $webUrl

   6: #$SPTemplate = $SPWeb.ListTemplates["Custom List"]

   7: $SPTemplate = $SPWeb.ListTemplates["Lista personalizada"]

   8:  

   9: #Creación de la lista personalizada

  10: $SPWeb.Lists.Add("Geolocalization","Geolocalization List",$SPTemplate)

  11:  

  12: #Creación de la columna de geolocalización

  13: $listName="Geolocalization" 

  14: $fieldXml = "<Field Type='Geolocation' DisplayName='Location' />" 

  15: $list = $SPWeb.Lists[$listName] 

  16: $list.Fields.AddFieldAsXml($fieldXml,$true,[Microsoft.SharePoint.SPAddFieldOptions]::Default) 

  17: $list.Update() 

  • Ejecutamos el script anterior con PowerShell ISE por ejemplo.
  • Navegamos al sitio de trabajo y comprobamos como al añadir un nuevo elemento en la lista creada mediante PowerShell disponemos de dos opciones para configurar la columna Location qué es de tipo geolocalización: especificar la ubicación mediante la correspondiente ventana modal o de forma directa mediante la opción “Usar mi ubicación”.
  • Añadimos la información y comprobamos al visualizar el elemento de lista como la dirección se muestra sin problemas.
image image image

Reerencia: http://yalla.itgroove.net/2013/03/1354/