Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Узнайте, как программно добавить столбец геолокации в список в SharePoint. Интегрируйте информацию о местоположении и карты в списки SharePoint и веб-сайты, основанные на местоположении, используя новое поле геолокации, создавая собственный тип поля на основе геолокации.
В SharePoint вводится новый тип поля "Географическое положение", позволяющее указывать в списках SharePoint сведения о расположении. В столбцах типа "Географическое положение" можно ввести сведения о расположении в виде сочетания координат широты и долготы в десятичных градусах или получить координаты текущего расположения пользователя из браузера, если реализован API географического расположения W3C. Дополнительные сведения о столбце «Геолокация» см. В разделе Интеграция функций определения местоположения и карты в SharePoint. Столбец Географическое расположение по умолчанию недоступен в списках SharePoint. Чтобы добавить столбец в список SharePoint, вы должны написать код. В этой статье вы узнаете, как программно добавить поле геолокации в список с помощью клиентской объектной модели SharePoint.
Пакет MSI с именем SQLSysClrTypes.msi должен быть установлен на каждом интерфейсном веб-сервере SharePoint, чтобы просматривать значение поля географического положения или данные в списке. Этот пакет устанавливает компоненты, внедряющие новые геометрические, географические и иерархические идентификационные типы в SQL Server 2008. По умолчанию этот файл устанавливается для SharePoint Online. Однако это не для локального развертывания SharePoint. Для выполнения этой операции необходимо быть участником группы администраторов фермы. Чтобы скачать SQLSysClrTypes.msi, см. статью Пакет дополнительных компонентов Microsoft SQL Server 2008 R2 с пакетом обновления 1 (SP1) для SQL Server 2008 года или Пакет дополнительных компонентов Microsoft SQL Server 2012для SQL Server 2012 в Центре загрузки Майкрософт.
Предварительные условия для добавления столбца Geolocation
Доступ к списку SharePoint с достаточными правами для добавления столбца.
Допустимый ключ Карты Bing, заданный на уровне фермы или веб-сайта, который можно получить в центре Карты Bing учетных записей.
Важно!
[!Важно!] Обратите внимание, что вы несете ответственность за соблюдение сроками и условиями, которые применяются к использованию ключ Bing Maps и все необходимые условия для пользователей приложения о данных, передаваемых службы Bing Maps.
Visual Studio 2010
Командная консоль SharePoint Online: https://www.microsoft.com/download/details.aspx?id=35588
SharePoint PnP-PowerShell (устаревшая версия): https://github.com/SharePoint/PnP-PowerShell/
SharePoint PnP.PowerShell (последняя версия): https://github.com/pnp/powershell
Примечание.
PnP PowerShell — это решение с открытым исходным кодом, поддержка которого предоставляется активным сообществом. Для инструментов с открытым исходным кодом не существует соглашения об уровне обслуживания в отношении поддержки корпорацией Майкрософт.
Пример кода: добавление столбца геолокации в существующий список программным путем
Выполните следующие действия, чтобы добавить столбец геолокации в список. Это должно быть сделано программно с помощью CSOM или PowerShell
Чтобы добавить столбец геолокации в список с помощью PnP PowerShell
Открытие PowerShell
Подключитесь к сайту, на который вы хотите добавить колонку
Connect-PnPOnline -url "https://TENANT.sharepoint.com/sites/SITEURL"
Откройте список, в который вы хотите добавить столбец
$list = Get-PnPList -Identity "LISTNAME"
#Add поле "Географическое положение" — при необходимости измените параметры
Add-PnPField -List $list -Type GeoLocation -DisplayName "GeoLocationField" -InternalName "GeoLocationField" -AddToDefaultView -Required
Чтобы добавить столбец Geolocation в список с помощью клиентской объектной модели в Visual Studio
Запустите Visual Studio.
В строке меню выберите пункты файл, создать проект. Откроется диалоговое окно Новый проект.
В диалоговом окне Создать проект выберите пункт C# в поле Установленные шаблоны и затем выберите шаблон Консольное приложение.
Назовите проект и затем нажмите кнопку ОК.
Visual Studio создает проект. Добавление ссылки на следующие сборки и нажмите кнопку ОК.
- Microsoft.SharePoint.Client.dll
- Microsoft.SharePoint.Client.Runtime.dll
В файле .cs по умолчанию добавьте директиву using следующим образом.
using Microsoft.SharePoint.Client;
Добавьте следующий код в метод Main в CS-файл.
class Program { static void Main(string[] args) { AddGeolocationField(); Console.WriteLine("Location field added successfully"); } private static void AddGeolocationField() { // Replace site URL and List Title with Valid values. ClientContext context = new ClientContext("<Site Url>"); List oList = context.Web.Lists.GetByTitle("<List Title>"); oList.Fields.AddFieldAsXml("<Field Type='Geolocation' DisplayName='Location'/>",true, AddFieldOptions.AddToAllContentTypes); oList.Update(); context.ExecuteQuery(); } }
Замените
<Site Url>
и<List Title>
допустимыми значениями.Установите целевую платформу в Свойствах проекта как .NET Framework 4.0 или 3.5 и запустите пример.
Перейдите к списку. Вы должны увидеть столбец с именем Локация типа геолокации в списке. Теперь вы можете ввести некоторые значения и увидеть их в действии. На рисунке 1 показано расположение по умолчанию и функции карты, которые вы можете увидеть в своем списке.
Рис. 1. Сводные сведения о расположении и функциях карты по умолчанию
Добавить элемент списка со значением поля Geolocation в список SharePoint программным путем
После добавления поля «Геолокация» в список SharePoint разработчик может программно добавить элемент списка в список. Есть два способа добавить элемент списка программно: путем передачи объекта FieldGeolocationValue в поле Geolocation и путем передачи Raw Value в поле Geolocation.
Метод A: Передайте объект FieldGeolocationValue в поле Geolocation
Следующий метод добавляет элемент списка, передавая значение Geolocation как объект.
private void AddListItem() { // Replace site URL and List Title with Valid values. ClientContext context = new ClientContext("<Site Url>"); List oList = context.Web.Lists.GetByTitle("<List Name>"); ListItemCreationInformation itemCreationInfo = new ListItemCreationInformation(); ListItem oListItem = oList.AddItem(itemCreationInfo); oListItem["Title"] = "New Title"; FieldGeolocationValue oGeolocationValue = new FieldGeolocationValue(); oGeolocationValue.Latitude = (double)17.4; oGeolocationValue.Longitude = (double)78.4; oListItem["location"] = oGeolocationValue; oListItem.Update(); context.ExecuteQuery(); }
Метод B: передать необработанное значение в поле геолокации
Следующий метод добавляет элемент списка в список SharePoint, передавая необработанные значения в поле Geolocation.
private void AddListItem() { // Replace site URL and List Title with Valid values. ClientContext context = new ClientContext("<Site Url>"); List oList = context.Web.Lists.GetByTitle("<List Name>"); ListItemCreationInformation itemCreationInfo = new ListItemCreationInformation(); ListItem oListItem = oList.AddItem(itemCreationInfo); oListItem["Title"] = "New Title"; // Data in WKT (World Known Text) format. oListItem["location"] = "POINT (78.4 17.4)" ; oListItem.Update(); context.ExecuteQuery(); }
См. также
- Интеграция расположение и карты функциональные возможности в SharePoint
- Как настроить ключ карт Bing на уровне веб-сайта и фермы в SharePoint
- Как расширить тип поля "Географическое положение", используя клиентскую обработку
- Создайте представление карты для поля «Геолокация» в SharePoint.
- Как интегрировать карты с приложениями Windows Phone и списками SharePoint
- Использование типа поля расположения SharePoint в мобильных приложениях