Files
test-yandex-map-api/main.py
T

87 lines
2.8 KiB
Python

from PyQt5.QtWidgets import *
from PyQt5.QtGui import QPixmap
import sys
from PyQt5 import uic
from PyQt5 import QtCore
from functions.get_img_map import get_img_map
from functions.search_organization_pos import search_organization_pos
class Window(QMainWindow):
def __init__(self):
super().__init__(None)
uic.loadUi('window.ui', self)
self.pixmap = None
self.acceptDrops()
self.setWindowTitle("Image")
self.delta = 0.02
self.lon = 37.530887
self.lat = 55.703118
self.variant_map = "map"
self.org_point = "0.0,0.0"
self.name_find_org = ""
self.update()
self.button_group = QButtonGroup(None)
self.button_group.addButton(self.map)
self.button_group.addButton(self.sat)
self.button_group.addButton(self.skl)
self.button_group.buttonClicked.connect(self.push_button)
self.find.clicked.connect(self.search_organization)
self.drop.clicked.connect(self.drop_find)
def keyPressEvent(self, event):
try:
if event.key() == QtCore.Qt.Key_PageUp:
self.delta += 0.01
self.update()
if event.key() == QtCore.Qt.Key_PageDown:
self.delta -= 0.01
self.update()
if event.key() == QtCore.Qt.Key_W:
self.lat += 0.01
self.update()
if event.key() == QtCore.Qt.Key_S:
self.lat -= 0.01
self.update()
if event.key() == QtCore.Qt.Key_A:
self.lon -= 0.01
self.update()
if event.key() == QtCore.Qt.Key_D:
self.lon += 0.01
self.update()
event.accept()
except Exception as e:
print(e)
def update(self):
get_img_map(self.delta, (self.lon, self.lat), self.variant_map, self.org_point)
self.pixmap = QPixmap('image.png')
self.label.setPixmap(self.pixmap)
self.label.resize(self.pixmap.width(), self.pixmap.height())
self.show()
def push_button(self, button):
if button.text() == "skl":
self.variant_map = "sat,skl"
else:
self.variant_map = button.text()
self.update()
def search_organization(self):
# Москва, ул. Ак. Королева, 12
text = self.plainTextEdit.toPlainText()
self.org_point, self.lon, self.lat, self.name_find_org = search_organization_pos(text)
self.label_2.setText(self.name_find_org)
self.update()
def drop_find(self):
self.org_point = "0.0,0.0"
self.name_find_org = ""
self.label_2.setText(self.name_find_org)
self.update()
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec())