Антон Корзунов «Как разместить тысячи объектов на...

25
Как разместить тысячи объектов на карте Антон Корзунов, разработчик интерфейсов API Яндекс.Карт DUMP, Екатеринбург , 25 мая 2012

Upload: yandex

Post on 11-Nov-2014

1.626 views

Category:

Documents


2 download

DESCRIPTION

Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер» Конференция Dump, Екатеринбург, 25 мая 2012 1. Методы передачи данных на клиент. 2. Особенности хранения и выборки геоданных. 3. Механизмы визуализации данных в браузере. Возможности и ограничения. Новые инструменты в API Яндекс.Карт 2.0.

TRANSCRIPT

Page 1: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

Как разместить тысячи объектов на карте

Антон Корзунов,разработчик интерфейсов API Яндекс.Карт

DUMP, Екатеринбург, 25 мая 2012

Page 2: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

1

API Яндекс.Карт 2.0

Page 3: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

2

API Яндекс.Карт 2.0

— Быстрее работает

— Кластеризатор

— Метки на canvas

— Активные области

Page 4: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

3

Для решения некоторых задач нужно пожертвовать функциями

Page 5: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

4

Снижаем нагрузку

≈ 20% package.full → package.map

≈ 20% отказ от сложных макетов

≈ 50% overlays напрямую

github.com/theKashey/y2FastOverlay

Page 6: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

5

Когда данных очень много,к ним нужен особый подход

Page 7: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

6

Передача данных одним куском

Page 8: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

7

Грузим только то, что видно

Page 9: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

8

Загрузка по границам

Page 10: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

9

Четкие границы

Page 11: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

10

Тайлы — наше всё

Page 12: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

11

github.com/theKashey/tileLoader

Загрузка данных по тайлам

Page 13: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

12

Весь покрытый метками?

2 %

38 %60 %

Моря и океаны СушаПолезные объекты

По данным TileMill

Page 14: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

13

Пирамида тайлов

Page 15: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

Адрес в пирамиде — 132...

14

Тайловая координатная система

Page 16: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

15

Раздвигаем границы

Page 18: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

17

Народная карта

Page 19: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

18

Пробки

Page 20: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

19

Фотки

Page 21: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

https://github.com/twirl/hsTiler

20

Активные области

Page 22: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

21

Какое решение выбрать

Немногоданных

Специально ничего делать не нужно. API справится сам.

Много сложныхданных

Очень много данных

Нельзя грузить сразу все. Тайловая загрузка (по пирамиде) или хотя бы по границам.

Нужно использовать технологиюАктивных областей.

Page 23: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

Сайт http://api.yandex.ru/maps

Клубhttp://clubs.ya.ru/mapsapi/

Документацияhttp://api.yandex.ru/maps/doc

22

Page 24: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

Мастер-класс

23

Завтра, с 10:00 до 13:00

Page 25: Антон Корзунов «Как разместить тысячи объектов на карте без увеличения нагрузки на браузер»

Вопросы?

24

Антон Корзунов

[email protected]

@theKashey