У меня настроена функция обратного вызова, которая соединит две соответствующие точки на карте, когда вы нажмете на одну из них. Моя проблема в том, что я не могу удалить линию, соединяющую их. В основном функция ниже вызывается каждый раз, когда нажимается маркер. Мне это нужно, чтобы удалить старый большой круг и нанести на карту новый. Вместо этого он просто продолжает создавать новые строки вместо удаления старых. Вы можете игнорировать операторы if, потому что они работают так, как ожидалось. Мысли?
def mapPair(self,localLat,localLon,remoteLat, remoteLon):
if self.connectingLine != None:
self.connectingLine.remove() # <--doesn't work
if localLat != "unknown" and self.currentLocalItem is None:
self.currentLocalItem, = self.map.plot(localLon, localLat, 'bo', markersize=15, color='g', label="Local")
elif localLat!= "unknown" and self.currentLocalItem is not None:
self.currentLocalItem.set_ydata(localLat)
self.currentLocalItem.set_xdata(localLon)
self.connectingLine = self.map.drawgreatcircle(localLon, localLat, remoteLon, remoteLat, lw=3)
self.fig.canvas.draw()