我正在尝试在Mike Bostock旋转地球上绘制折线路径并沿其设置圆形动画。到目前为止,我已经学会了如何沿多边形做到这一点,例如下面的示例中有一个沿俄罗斯边界行进的圆:http://jsfiddle.net/xqmevpjg/11/
使用与上述小提琴相同的代码,我尝试添加折线(例如亚洲的海上航线)。我的坐标插入如下:
{"type":"Feature","properties":{"name":"AsiaRoute"},"geometry":{"type":"polyline","coordinates":[[
[93.36182, 19.83325],
[92.92236, 18.58833],
[89.01123, 16.02932],
[88.26416, 12.96642],
[88.13232, 10.94591],
[90.02197, 9.47548],
[94.021, 9.43213],
[94.72412, 12.2803],
[97.36084, 12.62359],
[97.49268, 11.42013],
[96.70166, 9.17192],
[96.43799, 6.99663],
[98.41553, 5.86126],
[99.38232, 4.54836],
[100.12939, 3.23307]
]]},"id":"RML"},
然而,这不起作用。动画不会出现,甚至不会在地球上绘制路径。我唯一能做的就是如下:
(a)将折线更改为多边形,但是它将路径的开头连接到路径的末尾并混淆动画,或者
(b)再次将几何类型更改为多边形,但这次"镜像"坐标回到前面,这样我最终得到一个看起来像一条线的多边形。这会使不必要的坐标数量增加一倍,然后我被迫将路径长度除以2,以便动画在中途停止。
为什么我不能简单地根据需要绘制折线?请帮助:)
答案 0 :(得分:1)
无论是GeoJSON还是TopoJSON,这些都是几何体的可接受值:
因此,在您的情况下,请将polyline
更改为LineString
或MultiLineString
。
以下是GeoJSON的规范:http://geojson.org/geojson-spec.html#appendix-a-geometry-examples
对于TopoJSON:https://github.com/mbostock/topojson-specification/blob/master/README.md#22-geometry-objects