Я хочу сделать масштаб легенды для карты.Масштаб должен был бы изменяться в зависимости от уровня масштабирования.
Например, при увеличении 100% может быть прямоугольник с текстом рядом с ним, который говорит «100 м».Когда масштаб изменяется на 200%, текст должен выглядеть следующим образом: «50 м».
Было бы замечательно, если бы уже было что-то встроенное для этого;но если нет, то мне кажется, что мне нужно каким-то образом получить уровень масштабирования и границы текущего представления, чтобы перерисовать объект.
Моя текущая реализация карты с NavCanvas.В моем случае чтение графических файлов уместно.Вот часть кода:
...
# Add Canvas
self.nav_canvas = NavCanvas.NavCanvas(self, -1,
size=(640, 480),
ProjectionFun=None,
Debug=0,
BackgroundColor="#777777")
self.canvas = self.nav_canvas.Canvas
...
def load_base_image(self):
self.image = skimage.io.imread("imported/base/" + self.image_name + ".png")
image_obj = wx.Image("imported/base/" + self.image_name + ".png")
image = FloatCanvas.ScaledBitmap2(image_obj,
XY = (0,0),
Height = image_obj.GetHeight(),
Position = 'tl')
self.canvas.AddObject(image)
self.canvas.Draw()
self.canvas.ZoomToBB()
Какой будет самый простой подход?