Bene, nei precedenti post abbiamo capito quali vie abbiamo per poter inserire un campo di tipo GeoLocation all'interno di una lista SharePoint 2013. 

Vi ricordo che possiamo farlo tramite:
Vediamo ora come possiamo leggere o scrivere informazioni geografiche (longitudine e latitudine) all'interno di elementi che hanno un campo di tipo GeoLocation tra i campi che ne definiscono la struttura, sfruttando il Server Object Model e il Client Object Model di SharePoint 2013. 

Abbiamo due modi differenti. 
 Il primo vede l'utilizzo di una classe apposita per gestire valori di questo tipo, che è stata aggiunta in entrambi i modelli: la classe SPFieldGeoLocationValue (o la relativa FieldGeoLocationValue del Client Object Model). 

Scrittura
SPWeb web = SPContext.Current.Web;
SPList list = web.Lists.TryGetList("YOUR LIST NAME");
SPListItem item = list.AddItem();
item[list.Fields.GetFieldByInternalName("YOUR FIELD NAME").Id] = new SPFieldGeolocationValue(42, 42); 
item.Update();

Lettura
SPWeb web = SPContext.Current.Web;
SPList list = web.Lists.TryGetList("YOUR LIST NAME");
SPListItem item = list.GetItemById(1);
SPFieldGeolocationValue geoValue = item["YOUR FIELD NAME"] as SPFieldGeolocationValue;
if (geoValue != null)
{
    var lat = geoValue.Latitude;
    var lon = geoValue.Longitude;
    var mes = geoValue.Measure;
    var alt = geoValue.Altitude;
}

Il secondo modo è quello di utilizzare la "POINT syntax". Una particolare notazione che vi permette di inserire coordinate geografiche in formato stringa.
Vi consiglio di utilizzare questa sintassi solo in scrittura e utilizzare la classe SPFieldGeoLocationValue per leggere.

Scrittura  
using (ClientContext context = new ClientContext("http://URL"))
{
   List list = context.Web.Lists.GetByTitle("YOUR LIST NAME");
   ListItem item = list.AddItem(new ListItemCreationInformation());
   item["YOUR FIELD NAME"] = "POINT (42 42)"; //sample location
   item.Update();
   context.ExecuteQuery();
}

Spero vi sia utile.