3
Я использую глобальную карту DataMaps.js. Я хочу реализовать Mouse Zoom, когда колесико мыши движется. Существует пример статического зум:Mouse Wheel Zoom Map - DataMaps.js
var zoom = new Datamap({
element: document.getElementById("zoom_map"),
scope: 'world',
// Zoom in on Africa
setProjection: function(element) {
var projection = d3.geo.equirectangular()
.center([23, -3])
.rotate([4.4, 0])
.scale(400)
.translate([element.offsetWidth/2, element.offsetHeight/2]);
var path = d3.geo.path()
.projection(projection);
return {path: path, projection: projection};
}
});
Кроме того, у меня есть событие Mouse Wheel:
$('#zoom_map').bind('DOMMouseScroll mousewheel', function(e){
if (e.originalEvent.wheelDelta > 0 || e.originalEvent.detail < 0) {
console.log("+");
e.preventDefault();
}
else{
console.log("-");
e.preventDefault();
}
});
Я попытался объединить эти части. Кроме того, я попытался изменить datamaps.js. Но, к сожалению, я потерплю неудачу.
также использовать что-то вроде этого, чтобы сбросить уровень масштабирования: функция resetZoom() { datamap.svg.selectAll («г») .attr ("transform", "translate (0,0) scale (1.0)"); } – aloplop85