Опубликовано пользователем в категории По-русски.

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

Переключение базовых карт стало проще
Два новых метода: getBasemap и setBasemap, сделают переключение базовых карт простым и удобным. Метод setBasemap принимает в качестве входного параметра одну из строк, описанных в первой части обзора, которые соответствуют базовой карте с сайта ArcGIS.com. Если свойство map.options.basemap было использовано для начальной настройки базовой карты или базовая карты была задана с помощью метода setBasemap, метод getBasemap вернет строку, соответствующую текущей базовой карте.

Небольшой элемент управления масштабированием по умолчанию
Элемент управления масштабом карты теперь по умолчанию представлен двумя кнопками «+» и «–» вместо ползунка. Ползунок может быть активирован с помощью опции конструктора карты sliderStyle: «large».

Стало возможным использование графического слоя (graphics layer) или слоя векторных объектов (feature layer) в качестве единственного на карте
Карта более не требует наличия кешированного (tiled) или динамического (dynamic) сервиса в качестве типа первого слоя, добавленного на карту. Обратитесь к примерам Векторный слой в любой проекции или Цены на топливо по штатам для того, чтобы посмотреть как работает это нововведение.

Улучшенная обработка географических координат (широта, долгота)
Теперь объекты esri.geometry создаются без пространственной привязки и предполагается, что они создаются в географической системе координат (по умолчанию WGS84, wkid 4326).
Экземпляры объектов типа esri.geometry.Point получили два новых метода: getLatitude и getLongitude, которые возвращают широту и долготу, если точка задана географическими координатами или координатами в проекции web mercator. В других случаях эти методы ничего не возвращают. Для карты также добавлено свойство geographicExtent, который может быть использован, если карта задана в географической системе координат или в системе координат web mercator.

Улучшения инструментов рисования
Инструменты с панели Рисование: прямоугольник, треугольник, окружность и эллипс поддерживают нажатие + перемещение указателя мыши для определения размера каждой фигуры. Панель инструментов также позволяет рисовать в определенных направлениях (вверх, вниз, слева и справа). Новые функции продемонстрированы в примере использования инструментов рисования.

Дополнительная функциональность

  • Новый метод redraw для слоев векторных объектов (feature layers), который выполняет перерисовку объектов без повторного запроса к сервису.
    Можно передать значение функции вместо названия поля атрибутов для отображения с помощью классов или уникальных значений, чтобы повторно вычислить значения, используемые для визуализации. Обратитесь к примеру Изменение населения графств США для знакомства с этой функциональностью.
  • Механизм отображения классов теперь дополнен методом setMaxInclusive для определения того, будут ли объекты со значениями атрибутов или выражений, равными максимальному значению для класса, включены в этот класс.
  • Панель инструментов редактирования дополнена новой опцией uniformScaling, которая сохраняет пропорции графики при ее масштабировании.

Новые примеры

Значительные изменения

  • Создание геометрии без указания пространственной привязки приводит к созданию по умолчанию объектов в системе WGS84 (wkid 4326). Приложения, геометрические объекты в которых ранее были созданы в другой системе координат, теперь должны будут иметь указание этой системы координат для таких геометрических объектов.
  • Ползунок для управления масштабом карты был изменен в версии 3.3. Ползунок более не является стилем по умолчанию для этого элемента управления картой, однако при создании карты можно использовать опцию sliderStyle: «large», чтобы выбрать ползунок для управления масштабом.
  • Использование параметра lang= «en» может привести к ошибкам в приложениях, при использовании диджитов компоновки (layout dijits) и data-dojo-config(или dojoConfig), когда locale или extralocale не заданы. Рекомендуемым исправлением будует указание locale или extraLocale для data-dojo-config или удаление атрибута lang= «en». В случае возникновения проблем будет выдана ошибка «dojo/parser::parse() error TypeError» в Google Chrome и «TypeError: _72f(…) is undefined» в Mozilla Firefox. Подробнее на сайте для отслеживания ошибок Dojo: Первая запись. Вторая запись.

Dojo 1.8
ArcGIS API for JavaScript 3.3 теперь использует Dojo 1.8.

С полным списком остальных улучшений и исправлений (NIM…) можно ознакомиться в оригинальной статье в блоге Esri.

Комментирование завершено.