Плагин D3 fisheye.js на карте Leaflet

Я создал простую карту div, в которую я поместил карту, созданную с помощью библиотеки leaflet.js, следующим образом:

var map = L.map('map', {
center: [51.505, -0.09],
zoom: 13});

Затем я попытался использовать d3 fisheye plugin для реализации искажения, но я нет результатов. Можно ли использовать этот плагин на карте буклетов? Я пробовал следующий код, но, вероятно, проблема в том, что я не использую объект с атрибутами x, y, z, возвращаемыми вызываемой функцией.

var coordinates = [0, 0];
var svg = d3.select("#map");
svg.on("mousemove", function () {
    var latlng = new Array();
    coordinates = d3.mouse(this);
    var point = L.point(coordinate[0],coordinate[1]);
    var d = map.layerPointToLatLng(point);
    latlng[0] = d.lat;
    latlng[1] = d.lng;
    fisheye.focus(latlng);
});

Кто-нибудь может мне помочь? Спасибо


person Heisenberg    schedule 04.12.2015    source источник
comment
Этот вопрос может помочь.   -  person Lars Kotthoff    schedule 04.12.2015
comment
Прежде всего, спасибо за ответ ... Я уже видел этот пример, на самом деле я хочу получить то же самое, но используя простую географическую карту.   -  person Heisenberg    schedule 04.12.2015
comment
Добро пожаловать в SO! Вы проверяли, может ли этот плагин искажать растровые изображения? Похоже, работает только на SVG?   -  person ghybs    schedule 07.12.2015
comment
Привет @ghybs, спасибо .... Я думаю, что проблема в том, что с элементом, созданным с помощью D3 на карте, плагин работает нормально ... Вы знаете что-то, что может помочь мне получить тот же результат на карте Leaflet ? Спасибо   -  person Heisenberg    schedule 07.12.2015
comment
Может быть, попробовать Mapbox Studio, я думаю, он отображает плитки SVG?   -  person ghybs    schedule 08.12.2015
comment
@ghybs Я не знаю Mapbox Studio, но я видел, что это программное обеспечение. Моя проблема в том, что у меня есть карта Leaflet, построенная с использованием набора плиток, и пример того, что я хочу получить, может быть таким: Я поместите на карту какой-нибудь узел (круг), который представляет географическую точку на карте с помощью D3, когда я щелкаю по нему, я хочу развернуть свой узел, чтобы показать его структуру (т.е. график), и я бы также получил искажение карты, чтобы расширенный узел не покрывает больше места на карте. Например, эффект [этот] (bost.ocks.org/mike/fisheye/#chart2). Спасибо за вашу поддержку, и мне очень жаль, если я повторюсь.   -  person Heisenberg    schedule 09.12.2015
comment
Я думаю, что Mapbox Studio создаст для вас векторные плитки, если я не ошибаюсь. Но насколько я понимаю, вас могут заинтересовать более простые обходные пути, например увеличение масштаба при нажатии и, возможно, Плагин Leaflet.Deflate   -  person ghybs    schedule 09.12.2015
comment
Еще раз спасибо @ghybs, я увижу этот плагин, если он может быть полезен для меня, иначе я изменю подход, потому что я не нашел решения .. Маленький вопрос, знаете ли вы, можно ли преобразовать плитки (т.е. .png плитки) в svg? ..   -  person Heisenberg    schedule 10.12.2015