d3-tile
Макет для работы с плитками карты на основе изображений. Его можно использовать для создания простой карты со скроллингом или для отображения стандартных плиток карты (например, Mapbox, Mapzen, CloudMade, Bing) в качестве базового слоя под слоем векторных данных.
| | | |
| | | |
| | | |
Установка
Если вы используете NPM, npm install d3-tile. В противном случае загрузите последнюю версию. Вы также можете загрузить напрямую с unpkg.com как самостоятельную библиотеку. Поддерживаются среды AMD, CommonJS и vanilla. В vanilla экспортируется глобальная переменная d3:
<script src="https://unpkg.com/d3-array@1.0"></script> <script src="https://unpkg.com/d3-tile@0.0"></script> <script> var tile = d3.tile(); </script>
Попробуйте d3-tile в вашем браузере.
Справочник API
d3.tile()
Создает макет для определения плиток квадродерева, которые нужно отобразить в прямоугольном представлении.
var tile = d3.tile();
tile()
Вычисляет набор плиток квадродерева для отображения, учитывая текущий макет extent, масштаб, сдвиг и размер плитки. Возвращает массив объектов со следующими свойствами:
-
xЦелая координата X адреса плитки. Периодическая, если wrap установлено в true. -
yЦелая координата Y адреса плитки. -
zЦелая координата Z адреса плитки (уровень масштабирования). -
txСдвиг по оси X, который следует применить к плитке. Это значениеxумноженное на размер плитки, но без применения логики обертывания. -
tyСдвиг по оси Y, который следует применить к плитке. Это значениеyумноженное на размер плитки.
Возвращаемый массив также имеет свойства scale и translate, которые можно использовать для применения правильного преобразования к группе изображений плиток. Пример использования см. в Raster & Vector III.
tile.extent([extent])
Если extent указан, устанавливает область этого макета плиток в указанный массив точек [[x0, y0], [x1, y1]], где [x0, y0] — верхний левый угол, а [x1, y1] — нижний правый угол, и возвращает этот макет плиток. Если extent не указан, возвращает текущую область макета.
tile.size([size])
Если size указан, устанавливает размер этого макета плиток в указанный двухэлементный массив чисел [ширина, высота] и возвращает этот макет плиток. Если size не указан, возвращает текущий размер макета. Это удобный метод, эквивалентный установке области в [[0, 0], [ширина, высота]].
tile.scale([scale])
Если scale указан, устанавливает масштаб этого макета плиток в указанное число масштаб и возвращает этот макет плиток. Если scale не указан, возвращает текущий масштаб макета.
tile.translate([translate])
Если translate указан, устанавливает сдвиг этого макета плиток в указанный двухэлементный массив чисел [x, y] и возвращает этот макет плиток. Если translate не указан, возвращает текущий сдвиг макета.
tile.wrap([wrap])
Если wrap указан, устанавливает опцию обертывания этого макета плиток в указанное булево значение и возвращает этот макет плиток. Если wrap не указан, возвращает текущую опцию обертывания, которая по умолчанию равна true.
wrap(true)
Если wrap равно true, логика обертывания будет применена к значениям адреса плитки x при оценке макета. Это приведет к периодическому отображению плиток карты, выходящих за пределы значений долготы между -180 и 180.
wrap(false)
Если wrap равно false, логика обертывания будет отключена, ограничивая плитки значениями долготы между -180 и 180.
tile.tileSize([tileSize])
Если tileSize указан, устанавливает ширину и высоту отдельных плиток этого макета плиток в указанное число tileSize и возвращает этот макет плиток. Если tileSize не указан, возвращает текущий размер плитки макета, который по умолчанию равен 256, наиболее распространенному размеру плитки среди поставщиков услуг по предоставлению плиток.
© 2010–2017 Michael Bostock
Licensed under the BSD License.
https://github.com/d3/d3-tile