Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Интерактивные слои API карт 2GIS. Андрей Геоня

Dd3f18c87b851137000c7427d7bd5d32?s=47 fwdays
March 13, 2013

Интерактивные слои API карт 2GIS. Андрей Геоня

Dd3f18c87b851137000c7427d7bd5d32?s=128

fwdays

March 13, 2013
Tweet

More Decks by fwdays

Other Decks in Programming

Transcript

  1. Интерактивные слои API карт 2GIS Андрей Геоня

  2. Кейс №1. Результаты поиска maps.2gis.ru

  3. Решение №1. Кластеризация

  4. Решение №2. Интерактивный тайловый слой.

  5. Tile drawer С++ daemon

  6. Интерактивный слой умеет • Запросить данные с сервера; • Отрисовать

    тайлы на карте; • Бросить событие при наведении/клике мышкой на маркер.
  7. Интерактивный тайловый слой var tileLayer = new DG.Layers.Interactive. WebapiMarkers('TileMarkers', {

    'loader': dataLoader, 'clickCallback': function() { console.log(arguments); }, 'clickCallbackContext': this }); myMap.layers.add(tileLayer);
  8. Событие при наведении на маркер? Декартова система координат:

  9. Событие при наведении на маркер? • маркер круглый • координаты

    маркера знаем • радиус маркера знаем • координаты мышки знаем • проверить или курсор входит в круг можем
  10. Кейс №2. Пробки maps.2gis.ru

  11. Тоже есть сервер ... "geometry":[{"object":["POLYGON((82.958901 55.053639,82.941275 55.052041,82.941168 55.052429,82.958841 55.054032,82.958934 55.054033,82.959499

    55.053995,82.959419 55.053604,82.958901 55.053639))"]}]} ...
  12. Событие при наведении на полигон? algolist.manual. ru/maths/geom/belong/poly2d.php

  13. Спасибо за внимание!