У меня возникают некоторые проблемы, связанные с поведением D3 на карте. В этом примере, увлекая результаты карты в очень быстром сковороду, и точка щелкнул не остается с мышью - http://bl.ocks.org/jczaplew/6453048Использование d3.behavior.drag() для панорамирования карты
Мой код поведение перетаскивания выглядит следующим образом -
var drag = d3.behavior.drag()
.origin(function() { return {x: rotate[0], y: -rotate[1]}; })
.on("drag", function() {
rotate[0] = d3.event.x;
rotate[1] = -d3.event.y;
// Refresh the map
projection.rotate(rotate);
path = d3.geo.path().projection(projection);
d3.selectAll("path").attr("d", path);
});
Что мне нужно:
- Panning без перевода всего SVG. Способность панорамирования карты (проблема, выраженная в этом вопросе - Zooming and Panning a Mercator Map centered on the Pacific using d3.js и продемонстрированная в этом примере - http://bl.ocks.org/d3noob/4966228) нежелательна.
- Когда пользователь нажимает и тащит карту, точка щелкнул прилипает к курсору (т.е. нажав и перетащив Испания поворачивает карту вокруг Испании)
Я подозреваю, что эта проблема имеет что-то делать с drag.origin(), но, возможно, я вообще не должен использовать d3.behavior.drag()? Любая помощь очень ценится!