其实已经看了比较久的d3.js的教程了,就是很久没做真的东西。去年底玩了下,做了个球,不能转不能放大不能移,将就着用,现在可以了。可以试玩下 :地址

最近比较忙,不过还是有时间折腾这个的。

主要是brush、move、drag、geo的使用。brush和drag同时触发,在start事件里设置时没有用的,所以,我在brushstart的时候,设置按下shift时brush的extent为正常,其他时候透明,这样就可以同时drag和brush了,没想到其他的好方法,brushstart时调整range是无效的,起点会从0开始,不知道是否是bug。

还搞清了brush中,domain和range的区别。range是可以绘制的区域,domain是鼠标事件中,显示的坐标值。我将其设置为和range相同,这样,即可使用投影转换,将其转为经纬度。

还有些小问题,比如地图的裁剪,有些投影需要裁剪,就像那个球,必须把背面裁剪掉,否则很难看,正反面会叠加。

还有个重要的事情:不支持ie9一下,虽然用了r2d3.js,但是不保证能用。试玩下吧,还算有趣。

大概就试玩到此了,以后有时间再碰。