diff --git a/MAVProxy/modules/mavproxy_kmlread.py b/MAVProxy/modules/mavproxy_kmlread.py index 6d8dc3d60e..5c82814759 100644 --- a/MAVProxy/modules/mavproxy_kmlread.py +++ b/MAVProxy/modules/mavproxy_kmlread.py @@ -316,8 +316,9 @@ def loadkml(self, filename): # print("Adding " + point[1]) newcolour = (random.randint(0, 255), 0, random.randint(0, 255)) + layer_name = point[1]+"-"+str(counter) curpoly = mp_slipmap.SlipPolygon( - point[1]+"-"+str(counter), + layer_name, point[2], layer=2, linewidth=2, @@ -325,7 +326,7 @@ def loadkml(self, filename): ) self.mpstate.map.add_object(curpoly) self.allayers.append(curpoly) - self.curlayers.append(point[1]) + self.curlayers.append(layer_name) # and points - barrell image and text if self.mpstate.map is not None and point[0] == 'Point': @@ -389,20 +390,16 @@ def idle_task(self): # then add all the layers to the menu, ensuring to # check the active layers text elements aren't # included on the menu - if layer.key in self.curlayers and layer.key[-5:] != "-text": - self.menu.items.append(MPMenuCheckbox( - layer.key, - layer.key, - '# kml toggle \"' + layer.key + '\"', - checked=True, - )) - elif layer.key[-5:] != "-text": - self.menu.items.append(MPMenuCheckbox( - layer.key, - layer.key, - '# kml toggle \"' + layer.key + '\"', - checked=False, - )) + if layer.key.endswith('-text'): + continue + + checked = layer.key in self.curlayers + self.menu.items.append(MPMenuCheckbox( + layer.key, + layer.key, + f'# kml toggle \"{layer.key}\"', + checked=checked, + )) # and add the menu to the map popu menu self.module('map').add_menu(self.menu) self.menu_needs_refreshing = False