Часто задаваемые вопросы

Разделы:

Установка

Вопрос: Должен ли я устанавливать ArcGIS Viewer for Silverlight на той же машине, что и ArcGIS Server?

Нет. ArcGIS Viewer for Silverlight не должен устанавливаться на той же машине, что и ArcGIS Server. Минимальные требования:

  • .NET Framework 3.5 SP1 или 4.0 runtime
  • Статическое содержание
  • ASP.NET
  • Консоль управления IIS

Более подробно об установке ArcGIS Viewer for Silverlight на определенных ОС, см. в разделе Системные требования.

Приступая к работе

Вопрос: Как запустить Конструктор приложений?

Запустите (откройте) Конструктор приложений через меню Пуск: Пуск (Start)>Все программы (All Programs)>ArcGIS>ArcGIS Viewer for Silverlight 3.2>ArcGIS Viewer for Silverlight 3.2. Или откройте веб-браузер и введите адрес Error! Hyperlink reference not valid. компьютера>/builder.

Вопрос: Должен ли я установить ArcGIS API for Silverlight для использования ArcGIS Viewer for Silverlight?

Нет, ArcGIS API for Silverlight не требуется при использовании Конструктора приложений для настройки ArcGIS Viewer for Silverlight. ArcGIS API for Silverlight необходим, только если вы хотите расширить возможности Вьюера, создав собственные надстройки; в этом случае необходимо установить ArcGIS Extensibility SDK for Silverlight. Программа установки SDK имеет опцию установки ArcGIS Viewer for Silverlight.

Вопрос: Можно ли работать в отключенной (локальной) среде или в среде с брандмауэром?

Хотя ArcGIS Viewer for Silverlight разработан для онлайн-сервисов, иногда требуется работа в отключенной среде. В этом случае необходимо удалить слой ArcGIS Online Streets из файла Map.xml и заменить его базовой картой из локальной сети. Файл Map.xml находится в папке установки программы, например: C:\inetpub\wwwroot\Builder\Templates\Default\Config. Если вы не удалите слой ArcGIS Online Streets и не замените его базовой картой, вы увидите сообщение об ошибке "Ошибка инициализации слоя: Streets" и не сможете продолжить настройку в Конструкторе приложения. Если вы работаете в среде за брандмауэром, необходимо также (1) обновить набор базовых карт по умолчанию в Builder\App_Data\Basemaps.xml и Builder\Templates\Default\Config\Tools.xml, (2) обновить ArcGIS Online Sharing и Secure URL через интерфейс настроек Конструктора или с помощью Builder\App_Data\Settings.xml, и (3) обновить URL задачи геометрии через интерфейс настроек Конструктора или с помощью Builder\App_Data\Settings.xml.

Вопрос: Как подключиться к Portal for ArcGIS?

Portal for ArcGIS обеспечивает те же инструменты общего доступа, что и ArcGIS Online. Разница заключается лишь в том, где они будут располагаться и какие ресурсы будут доступны пользователям. Portal for ArcGIS может быть размещен за брандмауэром вашей организации, либо частный экземпляр может быть размещен и управляться Esri для вашей организации. Настройки для Portal for ArcGIS содержатся на закладке Настройки приложения на странице Настройки конструктора приложения.

Проблема: не удается редактировать, копировать или удалять на Домашней странице.

Не удается отредактировать, скопировать или удалить сайт

Вы можете увидеть эту ошибку ("Ошибка: System.Exception: Не удалось найти сайт с siteID …") при попытке редактирования, копирования или удаления сайта на Домашней странице. Это может произойти из-за неудачной попытки записи в файл конфигурации sites.xml. В этом случае URL отображается на Домашней странице во время того же сеанса, в котором он был создан, поскольку он находится в сайтах “catalog” в памяти, но при обновлении Конструктора ссылка исчезнет.

Временное решение: В 32-разрядной ОС Windows XP (x86) учетная запись ASPNET может быть задана неверно, что вызывает проблему с разрешениями (т.е. записью в директорию). Для решения этой проблемы можно явным образом предоставить разрешения ASPNET с помощью файлов конфигурации в папке App_Data (разрешения для родительской папки App_Data могут обрабатываться некорректно). Папка App_Data находится на диске в директории Конструктора приложения (например, C:\inetpub\wwwroot\Builder).

Проблема: Ошибка доступа к файлам приложения.

При попытке редактирования ранее созданного сайта с помощью Домашней страницы, может появиться эта ошибка. Это означает, что в корневой веб-папке (например, C:\Inetpub\wwwroot) отсутствует файл clientaccesspolicy.xml или crossdomain.xml. Более подробную информацию о структуре и функции файла clientaccesspolicy.xml, смотрите в разделе Защитные ограничения сетевого доступа в Silverlight. Как пример, вы можете просмотреть файл политики, используемый ArcGIS Online: http://services.arcgisonline.com/clientaccesspolicy.xml.

Сообщение об ошибке доступа к файлам приложения

Добавление слоев

Проблема: я создал собственную базовую карту, но когда я щелкаю ее в галерее, ничего не происходит.

Убедитесь, что URL базовой карты ArcGIS Server указан правильно. Помните, динамические картографические сервисы в качестве базовых карт не поддерживаются. Дополнительные сведения смотрите в разделе Настройка базовых карт.

Вопрос: Как я могу включить базовые карты Bing Maps?

Базовые карты Bing Maps требуют наоичия ключа Bing Maps от Microsoft. Более подробно смотри раздел Получение ключа Bing Maps. После того как вы получили ключ, введите ключ на закладке Настройки приложения (Application Settings) в меню Настройки (Settings).

Проблема: не удается загрузить данные с моего сервера.

  1. При входе в ArcGIS Server убедитесь, что ArcGIS Services Directory установлена и функционирует. В веб-браузере перейдите по адресу http://<сервер>/arcgis/rest/services. Посмотрите главную страницу Services Directory, чтобы получить более подробную информацию.
  2. Убедитесь, что точка доступа Representational State Transfer (REST) доступна. Скопируйте и вставьте URL, заданный в приложении Silverlight/WPF, в браузер. Например: http://<сервер>/arcgis/rest/services/USA/MapServer.
  3. Если приложение Silverlight не располагается на том же сервере или в том же домене что и данные (сервисы), к которым вы обращаетесь, вам потребуется файл clientaccesspolicy.xml на удаленном сервере. Смотрите следующий вопрос для получения более подробной информации.
  4. Используйте для слоя событие InitializationFailure, чтобы определить наличие ошибки и запросить сообщение.
  5. Чтобы определить, произошла ли ошибка, просмотрите запрос и ответ HTTP, используя стандартный инструмент HTTP коммуникации, например, Fiddler, Silverlight Spy, FireBug (надстройка FireFox) и т.д.

Вопрос: не удается загрузить данные из внешнего источника, находящегося вне домена приложения Silverlight.

Для доступа к данным с удаленного сервера, на удаленном сервере в корневой директории веб-сервера должен быть файл clientaccesspolicy.xml (например, c:\inetpub\wwwroot). ArcGIS Viewer for Silverlight построен на платформе Microsoft Silverlight. Из соображений безопасности, веб-браузеру не разрешается допуск к данным, которые размещены вне веб-домена, в котором располагается приложение Silverlight. Однако приложение Silverlight может загружать данные с доменов, если это разрешает сервер. Загрузка выполняется при наличии маленького файла clientaccesspolicy.xml на удаленном сервере, который разрешает Silverlight установку связи с сервисами на том сервере. Для дополнительной информации смотрите раздел Как сделать сервис доступным за границами домена. Более подробную информацию о структуре и функции файла clientaccesspolicy.xml, смотрите в разделе Защитные ограничения сетевого доступа в Silverlight. Как пример, вы можете также просмотреть файл политики, используемый ArcGIS Online:http://services.arcgisonline.com/clientaccesspolicy.xml.

Содержание ArcGIS Online clientaccesspolicy.xml

<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="*"/>
        <domain uri="http://*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

Вопрос: Как использовать страницу настроек прокси для доступа к защищенным сервисам?

ArcGIS Viewer for Silverlight поддерживает добавление защищенных сервисов через прокси, как описано в разделах Добавление защищенных сервисов (Adding secured services) и Настройка прокси (Configuring a proxy).

Работа со слоями

Вопрос: Как мне указать мой собственный локатор адресов для инструмента Поиск (Search)?

Инструмент Поиск теперь можно настраивать в Конструкторе приложений. Функциональность Поиска местоположений может быть применена с любым сервисом Локатора адресов ArcGIS Server. Дополнительные сведения см. в разделе Настройка инструмента Поиск.

Вопрос: как изменить поля, отображаемые во всплывающих окнах и в таблице атрибутов?

По умолчанию, во всплывающих окнах и в таблице атрибутов отображаются все поля данного слоя. Чтобы изменить отображаемые поля, выберите слой на панели Настроить слои и щелкните Настройка. Выберите опцию Всплывающие окна или Таблица и задайте отображение полей как необходимо. Дополнительные сведения смотрите в разделе Настройка полей слоя.

Проблема: не удается выбрать объекты. Инструмент Выбрать отключен (затемнен).

Объекты слоев ArcGIS Server Map Service не выбираются. Чтобы разрешить выбор объектов, находящихся на слое картографического сервиса ArcGIS Server, необходимо добавить этот слой с панели Обзор непосредственно на карту. Подробнее о типах картографических сервисов, слоях, которые могут добавляться к ним, и поведении смотрите раздел Типы слоев.

Вопрос: почему точечные объекты сгруппированы вместе? (кластеризованы).

Кластеризация включается по умолчанию, если число объектов более 1000. Можно задать параметры кластеризации для каждого слоя. Подробнее смотрите в разделах Кластеризация и Извлечение объектов.

Проблема: отображается только 500 из 1000 объектов моего сервиса.

По умолчанию, картографические сервисы ArcGIS Server 10.0 и более поздних версий ограничивают число возвращаемых записей до 1000. Предыдущие версии ArcGIS Server отображают только 500 записей. Начиная с версии ArcGIS Server 10.0 можно увеличить этот лимит в диалоговом окне Свойства сервиса либо в ArcCatalog, либо в ArcGIS Server Manager. Для ArcGIS Server 9.3.1 и более ранних версий можно вручную задать свойство MaxRecordCount в файле конфигурации <ArcGIS install location>\Server\user\cfg\<configuration file name>.cfg.

В Конструкторе приложения можно настроить извлечение объектов для каждого слоя. Это позволит извлекать сразу все объекты (до максимального числа записей) или извлекать объекты по мере перемещения по карте. По умолчанию, Конструктор приложения загружает объекты по мере перемещения по карте (т.е. по запросу). Подробнее смотрите в разделе Извлечение объектов.

ПримечаниеПримечание:

Ответы, которые содержат большое количество объектов, требуют большего количества системных ресурсов. Поэтому применяется параметр MaxRecordCount. Если вы собираетесь увеличить MaxRecordCount, следует проверить различные сценарии использования ресурса с новым лимитом, чтобы убедиться, что скорость работы сервиса остается приемлемой.

Вопрос: есть ли готовые инструменты для поиска в локальных данных?

Нет. Инструмент Поиск, входящий в Конструктор приложения позволяет выполнять поиск только местоположений, на ArcGIS.com или в Интернете. Он не предназначен для поиска в ваших данных. Для добавления функций, которые отсутствуют в инструменте Поиск, можно создать собственную надстройку.

Развертывание

Вопрос: Как выполнить развертывание на другом компьютере?

Когда вы будете готовы развернуть приложение вьюера на веб-сервере, скопируйте опубликованную папку или папки веб-приложения с компьютера в директорию веб-ресурсов на основной сервер. Например, если вы создали приложение "Site1," следует скопировать папку Site1 из директории Apps с компьютера, где разрабатывалось приложение, в директорию веб-ресурсов компьютера для публикации. В зависимости от места развертывания и настроек основного веб-сервера, может потребоваться настроить виртуальный каталог, который будет ссылаться на скопированную директорию.

ПримечаниеПримечание:

ArcGIS Viewer for Silverlight не требует установки в среде продукции.

Вопрос: как задать параметры безопасности для вьюера?

Если вы хотите добавить страницу авторизации для опубликованного приложения вьюера, можно настроить аутентификацию на основе ASP.NET. Смотрите сообщение в блоге ArcGIS Viewer for Silverlight security, где описываются шаги по настройке аутентификации на основе веб-форм для приложения.

Расширение возможностей

Вопрос: Как я могу расширить возможности ArcGIS Viewer for Silverlight?

ArcGIS Viewer for Silverlight позволяет вам развивать пользовательскую функциональность посредством создания надстроек. Чтобы помочь вам в написании расширений, Viewer предоставляет простой и гибкий интерфейс программирования приложений (API). API обеспечивает доступ к карте и выбранному слою, методам отображения пользовательского интерфейса в диалоговых окнах, а также позволяет сохранять и загружать данные конфигурации.

Тогда как API обеспечивает лишь небольшое количество простых точек взаимодействия с вьюером, то дополнения могут содержать неограниченное число возможностей. В рамках надстройки можно использовать любую библиотеку Silverlight, включая ArcGIS API for Silverlight и стандартный Silverlight API. Вы можете без ограничений использовать карту и слои, отображать любой пользовательский интерфейс Silverlight, делать свои компоненты настраиваемыми, работать с другими компонентами Silverlight или JavaScript на этой странице, соединяться с веб-сервисами, предоставляемыми SharePoint или ArcGIS Server и многое другое. Дополнительные сведения смотрите в разделе Расширение возможностей ArcGIS Viewer for Silverlight.

Вопрос: как создать пользовательскую компоновку?

Самый простой способ создания пользовательской компоновки – использовать шаблон ArcGIS Viewer for Silverlight Visual Studio, который входит в SDK. В проекте Компоновка вы найдете копии каждой компоновки Вьюера (Accordion, Basic, Black Box, Black Box – Reverse, Floating Panels, Glass (по умолчанию), Under Glow и Wings). Используйте их для начала разработки собственной компоновки в Visual Studio или в Microsoft Expression Blend. Инструкции смотри в разделе Создание пользовательской компоновки. Также смотрите раздел Образцы (Samples) в ресурсном центре ArcGIS Viewer for Silverlight.

Проблема: сборка 'xyz' уже входит в приложение.

Сообщение об ошибке при загрузке надстройки "Сборка 'xyz' уже входит в приложение" является обычным предупреждением, что надстройка будет успешно загружена. Чтобы убрать это сообщение, вернитесь к решению Visual Studio и убедитесь, что для ссылок в диалоговом окне задано Copy Local=False.

Предупреждение о развертывании надстройки

1/23/2014