Как сделать плавный переход для перепроецирования карты в d3 js
Я хотел бы сделать плавный переход между alber / orthographic в мини-приложении, которое я строю, очень похоже на этот пример:
http://mbostock.github.io/d3/talk/20111018/#27
Кажется, что этот плавный переход нарушен в v3, однако, с довольно изменчивым переходом путей карты:
Код довольно прост, я инициализирую карту как albers, затем запускаю ortho (), чтобы обновить ее.
function ortho() {
var self = this,
h = 1000,
w = document.width;
this.projection = d3.geo.orthographic()
.scale(500)
.translate([ (w - 300) / 2, h / 2])
.clipAngle(90)
.rotate([90, 0, 0])
.precision(.1);
this.path = d3.geo.path()
.projection(this.projection);
//update path WITH transition
d3.selectAll('path')
.transition()
.duration(900)
.attr('d', app.path);
}
Карта меняется с альберса на орфографическую, но переход не является плавным. Любые мысли были бы великолепны.