feat: dynamic map; refactor code and fix bugs

This commit is contained in:
2026-01-11 23:45:19 +03:00
parent 6456d18212
commit ceca8a6e75
13 changed files with 553 additions and 340 deletions

View File

@@ -1,5 +1,7 @@
from PIL import Image
from datetime import datetime
from urllib.parse import parse_qs, urlparse, unquote
import constants
import cv2
import numpy as np
@@ -52,7 +54,30 @@ def generate_folder_name():
def parse_yandex_maps_url(url):
"""
Парсит URL Яндекс.Карт и извлекает lat, lon и zoom
Формат: ?ll=lon,lat&z=zoom
"""
# Декодируем URL (на случай %2C вместо запятых)
url = unquote(url)
# Парсим URL
parsed_url = urlparse(url)
params = parse_qs(parsed_url.query)
if 'll' in params and 'z' in params:
# ll содержит "lon,lat"
ll_value = params['ll'][0]
lat, lon = map(float, ll_value.split(','))
zoom = int(params['z'][0])
return {
'lat': lat,
'lon': lon,
'zoom': zoom
}
return None
def parse_google_maps_url(url):
"""
@@ -88,7 +113,7 @@ async function simulateDrag(element, offsetX, offsetY) {
const rect = element.getBoundingClientRect();
const startX = rect.left + rect.width / 2;
const startY = rect.top + rect.height / 2;
const step = 7
const step = 10
const endX = startX + offsetX + step;
const endY = startY + offsetY + step;
@@ -140,6 +165,6 @@ async function simulateDrag(element, offsetX, offsetY) {
{
const canvas = document.querySelector('canvas.H1VXrf.JRr1M.DnOnV');
""" + f"simulateDrag(canvas, {-dx}, {dy});" + """
""" + f"simulateDrag(canvas, {int(-dx)}, {int(dy)});" + """
}
"""