feat: dynamic map; refactor code and fix bugs
This commit is contained in:
31
utility.py
31
utility.py
@@ -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)});" + """
|
||||
}
|
||||
"""
|
||||
Reference in New Issue
Block a user