Добавление мозаичного слоя на карту (пакет SDK для Android)Add a tile layer to a map (Android SDK)

В этой статье показано, как визуализировать мозаичный слой на карте с помощью пакет SDK для Android Azure Maps.This article shows you how to render a tile layer on a map using the Azure Maps Android SDK. Слои фрагментов позволяют накладывать изображения поверх фрагментов карты в Azure Maps.Tile layers allow you to superimpose images on top of Azure Maps base map tiles. Дополнительные сведения о системе фрагментов Azure Maps см. в статье Уровни увеличения и параметры сетки.More information on Azure Maps tiling system can be found in the Zoom levels and tile grid documentation.

Мозаичный слой загружает плитки с сервера.A Tile layer loads in tiles from a server. Эти образы можно предварительно визуализировать и сохранить как любой другой образ на сервере, используя соглашение об именовании, которое понимает мозаичный слой.These images can be pre-rendered and stored like any other image on a server, using a naming convention that the tile layer understands. Или эти образы можно визуализировать с помощью динамической службы, которая создает изображения в режиме реального времени.Or, these images can be rendered with a dynamic service that generates the images near real time. Существует три разных соглашения об именовании для службы плиток, поддерживаемых Azure Maps классом Тилелайер:There are three different tile service naming conventions supported by Azure Maps TileLayer class:

  • X, Y, нотация увеличения. В зависимости от уровня увеличения, x — это столбец, а y — позиция строки фрагмента в сетке фрагментов.X, Y, Zoom notation - Based on the zoom level, x is the column and y is the row position of the tile in the tile grid.
  • Нотация Quadkey. Сочетание данных x, y и увеличения в одном строковом значении, которое является уникальным идентификатором для фрагмента.Quadkey notation - Combination x, y, zoom information into a single string value that is a unique identifier for a tile.
  • Ограничивающие прямоугольники ограничивающие прямоугольники можно использовать для указания изображения в формате {west},{south},{east},{north} , который обычно используется службами веб-СОПОСТАВЛЕНИЯ (WMS).Bounding Box - Bounding box coordinates can be used to specify an image in the format {west},{south},{east},{north}, which is commonly used by Web Mapping Services (WMS).

Совет

Класс TileLayer — отличный способ визуализировать большие объемы данных на карте.A TileLayer is a great way to visualize large data sets on the map. С его помощью можно не только создать слой фрагментов из образа, но и отобразить векторные данные в виде слоя фрагментов.Not only can a tile layer be generated from an image, but vector data can also be rendered as a tile layer too. При отрисовке векторных данных в виде мозаичного слоя элементу управления картой необходимо загрузить только плитки, размер файла которого может быть намного меньше, чем у данных, которые они представляют.By rendering vector data as a tile layer, the map control only needs to load the tiles, which can be much smaller in file size than the vector data they represent. Эта техника часто используется, когда нужно преобразовать для просмотра огромное количество строк данных на карте.This technique is used by many who need to render millions of rows of data on the map.

URL-адрес фрагмента, передаваемый в слой фрагментов, должен быть URL-адресом с http/https к ресурсу TileJSON или шаблоном URL-адреса фрагмента, который использует следующие параметры:The tile URL passed into a Tile layer must be an http/https URL to a TileJSON resource or a tile URL template that uses the following parameters:

  • {x} — позиция X фрагмента.{x} - X position of the tile. Также нужны {y} и {z}.Also needs {y} and {z}.
  • {y} — позиция Y фрагмента.{y} - Y position of the tile. Также нужны {x} и {z}.Also needs {x} and {z}.
  • {z} — уровень увеличения фрагмента.{z} - Zoom level of the tile. Также нужны {x} и {y}.Also needs {x} and {y}.
  • {quadkey} — идентификатор quadkey на основе соглашения об именовании системы фрагментов Bing Maps.{quadkey} - Tile quadkey identifier based on the Bing Maps tile system naming convention.
  • {bbox-epsg-3857} — строка ограничивающего прямоугольника в формате {west},{south},{east},{north} в системе пространственных ссылок 3857 EPSG.{bbox-epsg-3857} - A bounding box string with the format {west},{south},{east},{north} in the EPSG 3857 Spatial Reference System.
  • {subdomain} — Заполнитель для значений поддомена, если указано значение поддомена.{subdomain} - A placeholder for the subdomain values, if the subdomain value is specified.

Предварительные требованияPrerequisites

Чтобы завершить процесс, описанный в этой статье, необходимо установить Azure Maps пакет SDK для Android , чтобы загрузить карту.To complete the process in this article, you need to install Azure Maps Android SDK to load a map.

Добавление мозаичного слоя на картуAdd a tile layer to the map

В этом примере показано, как создать мозаичный слой, указывающий на набор плиток.This sample shows how to create a tile layer that points to a set of tiles. В этом образце используется система заполнения "x, y, Zoom".This sample uses the "x, y, zoom" tiling system. Источником этого мозаичного слоя является проект опенсеамап, который содержит исходные диаграммы морских публика.The source of this tile layer is the OpenSeaMap project, which contains crowd sourced nautical charts. Часто при просмотре мозаичных слоев желательно иметь возможность четко видеть метки городов на карте.Often when viewing tile layers it is desirable to be able to clearly see the labels of cities on the map. Это поведение можно сделать, вставив мозаичный слой под слоями "метка карты".This behavior can be achieved by inserting the tile layer below the map label layers.

TileLayer layer = new TileLayer(
    tileUrl("https://tiles.openseamap.org/seamark/{z}/{x}/{y}.png"),
    opacity(0.8f),
    tileSize(256),
    minSourceZoom(7),
    maxSourceZoom(17)
);

map.layers.add(layer, "labels");

На следующем снимке экрана показан приведенный выше код, отображающий мозаичный слой сведений о морских на карте с темно-черным стилем.The following screenshot shows the above code displaying a tile layer of nautical information on a map that has a dark grayscale style.

Схема Android, отображающая мозаичный слой

Следующие шагиNext steps

Дополнительные сведения о способах установки стилей карт см. в следующей статье.See the following article to learn more about ways to set map styles