0

我一直在寻找解决方案,但都是如何从 json 文件中绘制折线等。主要问题是每次单击“新建折线”按钮时如何获得创建新折线并将旧折线存储在数组中的功能?二、点击“新建折线”按钮后如何在地图上留下折线并绘制新的,只有点击右键才能清理和恢复?可能更好的方法是将折线存储在类之外,或者为此创建一个新的单独类?你可能不得不以不同的方式处理这个问题吗?

糟糕的演示,但突出了我希望的意思:jsfiddle

数组已移至全局范围,但无法在最后一条折线上设置地图只能通过 clearOverlays 函数工作。现在,其他按钮出现了并发症。我创建了额外的全局对象 newPoly 但不知道好主意是否可以更好地从 myPolyline 获取对象?在其他方面,无法在存储在数组折线中的地图上设置恢复情况。

4

1 回答 1

1

要保存您制作的折线,请创建另一个全局变量来存储折线并将它们推入,同时在数组中的最后一条折线上设置映射(null)。您不能将您制作的多段线存储在同一个对象中,因为您每次都在制作一个新的。所以移动:

this.polyLines = [];

离开类,进入全局范围,或进入另一个类,将标记数组留在那里很好,因为这是该折线实例的本地。

这也应该有所帮助 - https://developers.google.com/maps/documentation/javascript/overlays#OverlaysOverview

于 2012-04-27T19:07:51.347 回答