我一直在按照这个块示例将节点和路径显示为地标和道路。我已成功加载地图,并且能够放大到“街景”级别。我还按照示例成功添加了节点。
然而,我的问题是我的路径大多是直的 PointA 到 PointB 路径。M(sourcex),(sourcey)L(targetx),(targety)
在添加地图之前,我一直在实施它们。0.9 / zoom.scale()
现在,除非宽度设置为完全不适合我,否则路径不会显示。我需要根据数据改变宽度的路径,但即使将 0.9 稍微更改为 1,路径也会再次消失。我不确定这是否是因为地图的缩放,但无论我处于什么缩放级别,路径都不再出现。
我尝试在示例中手动编辑路径只是为了比较。从M(sourcex),(sourcey)L(target1x),(target1y)L(target2x),(target2y)...
到刚刚M(sourcex),(sourcey)L(target1x),(target1y)
,路径也消失了。(编辑:在mbostock 的示例上也进行了尝试,结果相同。)
我找到了一种解决方法,在路径中复制目标M(sourcex),(sourcey)L(targetx),(targety)L(targetx),(targety)
。我可以更改这些路径的笔画宽度,但是,当我添加箭头标记时,箭头会倾斜。
这是一个 jsfiddle 来演示我的问题:https ://jsfiddle.net/mxzepdap/33
jsfiddle上有2条路径:
路径 1:正常M(sourcex),(sourcey)L(targetx),(targety)
- 除非笔画宽度正好为 0.9 / zoom.scale() 否则不显示
- 有指向正确方向的箭头
路径 2:重复M(sourcex),(sourcey)L(targetx),(targety)L(targetx),(targety)
- 显示设置的任何宽度的路径
- 箭头倾斜可能是由于路径上的重复点。箭头对我正在做的事情至关重要,所以这仍然是一个很大的问题。:(
您可以使用渲染上方的 2 个按钮切换路径宽度。
我看到的大多数示例都不是点对点路径,也没有放大到街景级别,所以我真的迷失了。任何帮助是极大的赞赏。