Javascript 如何通过单击绘制多条多段线?

Javascript 如何通过单击绘制多条多段线?,javascript,arrays,google-maps,google-maps-api-3,google-polyline,Javascript,Arrays,Google Maps,Google Maps Api 3,Google Polyline,我一直在寻找解决方案,但都是如何从json文件中绘制多段线等。主要问题是如何获得功能,以便在每次单击“新建多段线”按钮时创建新的多段线并将旧的多段线存储在数组中?第二,单击“新建多段线”按钮后,如何保留多段线并在地图上绘制新的多段线,并且仅当单击右键时才进行清理和恢复?更好的方法是在类之外存储多段线,或者为此创建一个新的单独类?你可能不得不以不同的方式来处理这个问题吗 演示不好,但强调了我的意思,我希望: 数组已移动到全局范围,但无法在最后一条多段线上设置映射,只能通过clearOverlays

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

演示不好,但强调了我的意思,我希望:


数组已移动到全局范围,但无法在最后一条多段线上设置映射,只能通过clearOverlays函数工作。现在,其他按钮也出现了问题。我创建了额外的全局对象newPoly,但不知道是否是一个好主意,可以更好地从myPolyline获取对象?在另一种情况下,无法对存储在数组多段线中的映射进行设置。

若要保存已创建的多段线,请创建另一个全局变量来存储多段线并将其推入,同时在数组中的最后一条多段线上设置映射(null)。不能存储在同一对象中创建的多段线,因为每次都要创建一条新的多段线。 因此,我提议:

离开类,进入全局范围,或进入另一个类,可以将标记数组留在其中,因为这是该多段线实例的局部


这也应该有帮助-

非常有帮助,但我希望得到其他专家的提示。虽然这是一个老问题,但我还没有结束它。我将发布一个新的JSFIDLE示例,只需打开这个问题,好吧,我仍在研究它,并从字面上了解到一些进展。您的最新版本的JSFIDLE似乎可以工作,现在使用getPath.clear(),在case new不工作集映射null:lastPoly.polymarkets[i].setMap(null);我会把它移到干净的箱子里,画新的时候在地图上留下线条。下一个问题与第一个问题的类型相同,在恢复情况下不起作用:多段线[i].setMap(map);最后,我把newPoly对象拉到全局,我不知道这是否是一个好的做法。也许我应该在创建新对象之前删除最后一个对象?
this.polyLines = [];