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:
Ecco invece, come possiamo inserire un campo di tipo GeoLocation, utilizzando il Client Object Model.
Nei prossimi post vedremo come leggere o salvare dati all'interno di un campo di tipo GeoLocation.
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(); } }
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();