Abbiamo visto che SharePoint 2013 contiene la definizione di questo nuovo campo, utile ad arricchire una normale lista con delle informazioni geo-localizzate e permettere la visualizzazione di queste informazioni all'interno di una mappa (tramite le mappe di Bing). 

Abbiamo anche visto che questo campo non può essere aggiunto tramite l'interfaccia di default di SharePoint, così come la maggior parte degli altri campi, ma che può essere aggiunto ad una lista tramite Powershell o tramite provisioning (quindi specificando una site column). 

Ecco come possiamo inserire un campo di questo tipo all'interno di una lista, utilizzando il Server Object Model:
  
using (SPSite site = new SPSite("http://YOURSITEURL"))
{
   using(SPWeb web = site.OpenWeb())
   {
        SPList list = web.Lists["YOUR LIST NAME"];
        SPFieldGeolocation geoField = new  SPFieldGeolocation(list.Fields, "YOUR FIELD NAME");
        list.Fields.Add(geoField);
        list.Update();
   }
}

Ecco invece, come possiamo inserire un campo di tipo GeoLocation, utilizzando il Client Object Model.
  
ClientContext ctx = new ClientContext("http://YOURSITEURL");
List list = context.Web.Lists.GetByTitle("YOUR LIST NAME");
list.Fields.AddFieldAsXml(
      "<Field Type='Geolocation' DisplayName='YOUR FIELD NAME'/>", true, AddFieldOptions.DefaultValue);
list.Update();
ctx.ExecuteQuery();

Nei prossimi post vedremo come leggere o salvare dati all'interno di un campo di tipo GeoLocation.