From 41a33e651688d02ad880800d7f7acebeecf61278 Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Thu, 13 Jun 2024 20:30:01 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=BE=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20ID=20=D0=BF=D1=83=D0=BD=D0=BA=D1=82=D0=B0?= =?UTF-8?q?=20=D0=B2=D1=8B=D0=B4=D0=B0=D1=87=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #3 --- merged-data.json | 148 +++++++++++++++++++++--------------------- scripts/merge-data.js | 7 ++ scripts/utils.js | 12 ++++ src/features.js | 2 +- src/index.html | 3 + src/popup.js | 15 +++-- 6 files changed, 108 insertions(+), 79 deletions(-) diff --git a/merged-data.json b/merged-data.json index c9540f7..c9df73a 100644 --- a/merged-data.json +++ b/merged-data.json @@ -1,334 +1,334 @@ [ { + "id": "538097", "coordinates": [ 37.689712, 47.948376 ], "name": "ПВЗ-03 Ляшенко", "address": "Донецк, Ляшенко 1а", - "link": "https://ozon.ru/point/538097", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "538186", "coordinates": [ 37.798876, 47.988652 ], "name": "ПВЗ-08 Первомайская", "address": "Донецк, ул. Первомайская (АС Центр)", - "link": "https://ozon.ru/point/538186", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "524639", "coordinates": [ 37.798576, 48.006233 ], "name": "ПВЗ-10 Театральный", "address": "Донецк, ул. Университетская 26", - "link": "https://ozon.ru/point/524639", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "536833", "coordinates": [ 37.846456, 48.009223 ], "name": "ПВЗ-11 Шевченко", "address": "Донецк, бул. Шевченко 77", - "link": "https://ozon.ru/point/536833", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "536825", "coordinates": [ 38.61702, 48.026791 ], "name": "ПВЗ-13 Торез", "address": "Торез, ул. Пионерская 1", - "link": "https://ozon.ru/point/536825", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "538179", "coordinates": [ 37.830801, 48.000825 ], "name": "ПВЗ-14 Ильича", "address": "Донецк, пр. Ильича 27", - "link": "https://ozon.ru/point/538179", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "536838", "coordinates": [ 37.810254, 47.9534 ], "name": "ПВЗ-15 Боссе", "address": "Донецк, ул. Речная 24б", - "link": "https://ozon.ru/point/536838", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "536623", "coordinates": [ 38.159416, 48.036587 ], "name": "ПВЗ-16 Харцызск", "address": "Харцызск, ул. Шалимова 14б", - "link": "https://ozon.ru/point/536623", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "536839", "coordinates": [ 38.266878, 48.007579 ], "name": "ПВЗ-17 Зугрэс", "address": "Зугрэс, ул. Рыночная 1", - "link": "https://ozon.ru/point/536839", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "533314", "coordinates": [ 37.81148, 48.008645 ], "name": "ПВЗ-21 Крытый", "address": "Донецк, ул. 50-летия СССР 150", - "link": "https://ozon.ru/point/533314", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "536826", "coordinates": [ 37.914097, 47.99136 ], "name": "ПВЗ-22 Независимости", "address": "Донецк, ул. Независимости 16д", - "link": "https://ozon.ru/point/536826", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "533348", "coordinates": [ 37.921085, 47.975167 ], "name": "ПВЗ-23 Раздольная", "address": "Донецк, ул. Раздольная 6", - "link": "https://ozon.ru/point/533348", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "536830", "coordinates": [ 37.793818, 47.975021 ], "name": "ПВЗ-24 Соловки", "address": "Донецк, ул. Пилотная 28", - "link": "https://ozon.ru/point/536830", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "534957", "coordinates": [ 37.955202, 48.098354 ], "name": "ПВЗ-25 МК3 Черемушки", "address": "Макеевка, квартал Северный 17", - "link": "https://ozon.ru/point/534957", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "534949", "coordinates": [ 37.854225, 48.008783 ], "name": "ПВЗ-26 Шахтостроителей", "address": "Донецк, бул. Шахтостроителей 20", - "link": "https://ozon.ru/point/534949", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "536823", "coordinates": [ 37.799925, 48.022137 ], "name": "ПВЗ-27 Детский Мир", "address": "Донецк, ул. Артема 147а", - "link": "https://ozon.ru/point/536823", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "538369", "coordinates": [ 37.926916, 47.964525 ], "name": "ПВЗ-29 Объединенный", "address": "Донецк, ул. Буденновских партизан", - "link": "https://ozon.ru/point/538369", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "538183", "coordinates": [ 37.8062, 47.991033 ], "name": "ПВЗ-30 Постышева", "address": "Донецк, ул. Постышева 43", - "link": "https://ozon.ru/point/538183", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "533329", "coordinates": [ 37.811583, 47.99713 ], "name": "ПВЗ-33 Пирамида", "address": "Донецк, ул. 50-летия СССР 100", - "link": "https://ozon.ru/point/533329", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "538182", "coordinates": [ 37.778903, 48.044231 ], "name": "ПВЗ-34 Киевский", "address": "Донецк, пр. Киевский 24", - "link": "https://ozon.ru/point/538182", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "538096", "coordinates": [ 37.753662, 48.028202 ], "name": "ПВЗ-35 Топаз", "address": "Донецк, ул. Куйбышева 169б", - "link": "https://ozon.ru/point/538096", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "538184", "coordinates": [ 37.965086, 48.100112 ], "name": "ПВЗ-36 МК-4 Даки", "address": "Макеевка, ул. 50 лет Образования СССР 24а", - "link": "https://ozon.ru/point/538184", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "533332", "coordinates": [ 37.747969, 48.034874 ], "name": "ПВЗ-38 Волна", "address": "Донецк, ул. Куйбышева 217Б", - "link": "https://ozon.ru/point/533332", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "535056", "coordinates": [ 37.70346, 47.970189 ], "name": "ПВЗ-39 Семашко", "address": "Донецк, ул. Коммунаров 38", - "link": "https://ozon.ru/point/535056", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "533345", "coordinates": [ 37.701071, 47.945246 ], "name": "ПВЗ-40 Островского20", "address": "Донецк, ул. Островского 20", - "link": "https://ozon.ru/point/533345", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "538094", "coordinates": [ 37.807773, 48.004304 ], "name": "ПВЗ-43 Гурова 22", "address": "Донецк, пр. Гурова 22", - "link": "https://ozon.ru/point/538094", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "538095", "coordinates": [ 37.768318, 47.95952 ], "name": "ПВЗ-44 Кольцова15", "address": "Донецк, ул. Кольцова 15", - "link": "https://ozon.ru/point/538095", "operationTime": "пн-вс с 9:00 до 18:00", "source": "https://login.woyag.ru/map", "provider": "WOЯЖ" }, { + "id": "533323", "coordinates": [ 37.811995, 48.011767 ], - "link": "https://ozon.ru/point/533323", "name": "г. Донецк, ул. 50-летия СССР, 157А", "address": "г. Донецк, ул. 50-летия СССР, 157А", "operationTime": "ГРАФИК РАБОТЫ", @@ -336,11 +336,11 @@ "provider": "Global Express" }, { + "id": "533347", "coordinates": [ 37.799192, 47.991666 ], - "link": "https://ozon.ru/point/533347", "name": "г. Донецк, площадь Коммунаров 1к1, ТЦ «Южный»", "address": "г. Донецк, площадь Коммунаров 1к1, ТЦ «Южный»", "operationTime": "ГРАФИК РАБОТЫ", @@ -348,11 +348,11 @@ "provider": "Global Express" }, { + "id": "534953", "coordinates": [ 37.775896, 47.959707 ], - "link": "https://ozon.ru/point/534953", "name": "г. Донецк, пр - кт Ленинский, 98Аостановка «Звездный»", "address": "г. Донецк, пр - кт Ленинский, 98Аостановка «Звездный»", "operationTime": "ГРАФИК РАБОТЫ", @@ -360,11 +360,11 @@ "provider": "Global Express" }, { + "id": "533350", "coordinates": [ 38.635921, 48.047327 ], - "link": "https://ozon.ru/point/533350", "name": "г. Торез, 4й микрорайон, (торговые павильоны в районе дома 23)", "address": "г. Торез, 4й микрорайон, (торговые павильоны в районе дома 23)", "operationTime": "ГРАФИК РАБОТЫ", @@ -372,11 +372,11 @@ "provider": "Global Express" }, { + "id": "534920", "coordinates": [ 38.761523, 48.021133 ], - "link": "https://ozon.ru/point/534920", "name": "Снежное, ул. Дзержинского, 2", "address": "Снежное, ул. Дзержинского, 2", "operationTime": "ГРАФИК РАБОТЫ", @@ -384,11 +384,11 @@ "provider": "Global Express" }, { + "id": "534903", "coordinates": [ 38.208714, 48.221055 ], - "link": "https://ozon.ru/point/534903", "name": "Енакиево, проспект Ленина, 98в", "address": "Енакиево, проспект Ленина, 98в", "operationTime": "ГРАФИК РАБОТЫ", @@ -396,311 +396,311 @@ "provider": "Global Express" }, { + "id": "517058", "coordinates": [ 37.845475, 47.994778 ], "name": "ПВЗ г.Донецк, ул.Харитонова, 3", "address": "г.Донецк, ул.Харитонова, 3", - "link": "https://ozon.ru/point/517058", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "517054", "coordinates": [ 37.790642, 47.988073 ], "name": "ПВЗ г.Донецк, пр.Ленинский, 4", "address": "г.Донецк, пр.Ленинский, 4", - "link": "https://ozon.ru/point/517054", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "517053", "coordinates": [ 37.694046, 47.949874 ], "name": "ПВЗ г.Донецк, ул.Петровского, 111в", "address": "г.Донецк, ул.Петровского, 111в", - "link": "https://ozon.ru/point/517053", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "514822", "coordinates": [ 37.798637, 48.009 ], "name": "ПВЗ г.Донецк, ул.Университетская, 34", "address": "г.Донецк, ул.Университетская, 34", - "link": "https://ozon.ru/point/514822", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "517056", "coordinates": [ 37.899868, 47.991365 ], "name": "ПВЗ г.Донецк, ул.Полоцкая, 9", "address": "г.Донецк, ул.Полоцкая, 9", - "link": "https://ozon.ru/point/517056", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "516734", "coordinates": [ 37.551447, 47.106867 ], "name": "ПВЗ г.Мариуполь, пр.Металлургов, 94", "address": "г.Мариуполь, пр.Металлургов, 94", - "link": "https://ozon.ru/point/516734", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "517062", "coordinates": [ 37.960468, 48.041197 ], "name": "ПВЗ г.Макеевка, ул.Рябцева, 1", "address": "г.Макеевка, ул.Рябцева, 1", - "link": "https://ozon.ru/point/517062", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "517055", "coordinates": [ 37.781488, 48.03651 ], "name": "ПВЗ г.Донецк, ул.Артема, 148а", "address": "г.Донецк, ул.Артема, 148а", - "link": "https://ozon.ru/point/517055", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "517061", "coordinates": [ 37.7964, 48.00381 ], "name": "ПВЗ г.Донецк, пр.Гурова, 7", "address": "г.Донецк, пр.Гурова, 7", - "link": "https://ozon.ru/point/517061", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "517059", "coordinates": [ 37.807934, 48.014371 ], "name": "ПВЗ г.Донецк, ул.Челюскинцев, 167", "address": "г.Донецк, ул.Челюскинцев, 167", - "link": "https://ozon.ru/point/517059", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "514844", "coordinates": [ 37.835405, 48.002471 ], "name": "ПВЗ г.Донецк, пр.Ильича, 32", "address": "г.Донецк, пр.Ильича, 32", - "link": "https://ozon.ru/point/514844", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "534902", "coordinates": [ 38.026077, 48.045442 ], "name": "ПВЗ г.Макеевка, пр.Генерала Данилова, 71б", "address": "г.Макеевка, пр.Генерала Данилова, 71б", - "link": "https://ozon.ru/point/534902", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "534899", "coordinates": [ 37.778362, 47.978513 ], "name": "ПВЗ г. Донецк, ул.Воровского, 9", "address": "г. Донецк, ул.Воровского, 9", - "link": "https://ozon.ru/point/534899", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "533305", "coordinates": [ 38.084391, 47.11915 ], "name": "ПВЗ г.Новоазовск, ул.Ленина, 48", "address": "г.Новоазовск, ул.Ленина, 48", - "link": "https://ozon.ru/point/533305", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "538086", "coordinates": [ 37.795933, 48.021495 ], "name": "ПВЗ г.Донецк, ул.Университетская, 76", "address": "г.Донецк, ул.Университетская, 76", - "link": "https://ozon.ru/point/538086", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "533308", "coordinates": [ 37.907342, 47.977482 ], "name": "ПВЗ г.Донецк, ул.Прожекторная, 3", "address": "г.Донецк, ул.Прожекторная, 3", - "link": "https://ozon.ru/point/533308", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "538180", "coordinates": [ 37.864259, 48.009494 ], "name": "ПВЗ г.Донецк, бул.Шевченко, 129", "address": "г.Донецк, бул.Шевченко, 129", - "link": "https://ozon.ru/point/538180", "operationTime": "пн-вс с 9:00 до 17:45", "source": "https://t.me/ozon_wb_dpr/627", "provider": "ПВЗ ДНР" }, { + "id": "535038", "coordinates": [ 38.145171, 48.04074 ], "name": "г. Харцызск, ул. Октябрьская 84", - "link": "https://ozon.ru/point/535038", "address": "г. Харцызск, ул. Октябрьская 84", "operationTime": "Понедельник — с 9 до 17\nВторник — с 11 до 17\nСреда — с 9 до 17\nЧетверг — с 11 до 17\nПятница — с 11 до 17\nСуббота — с 10 до 15\nВоскресенье — выходной", "source": "https://vk.com/pervijpvzkharcizsk?w=wall-217042772_1342", "provider": "ПЕРВЫЙ ПУНКТ ВЫДАЧИ" }, { + "id": "534940", "coordinates": [ 38.140113, 48.056208 ], "name": "г. Харцызск, м-н Юбилейный 4", - "link": "https://ozon.ru/point/534940", "address": "г. Харцызск, м-н Юбилейный 4", "operationTime": "Понедельник — выходной\nВторник — с 11 до 17\nСреда — с 9 до 17\nЧетверг — с 11 до 17\nПятница — с 11 до 17\nСуббота — с 9 до 17\nВоскресенье — выходной", "source": "https://vk.com/pervijpvzkharcizsk?w=wall-217042772_1342", "provider": "ПЕРВЫЙ ПУНКТ ВЫДАЧИ" }, { + "id": "536824", "coordinates": [ 38.010271, 48.303874 ], "name": "Горловка, проспект Победы 55", - "link": "https://ozon.ru/point/536824", "address": "Горловка, проспект Победы 55", "operationTime": "пн-вс с 9.00 до 18.00", "source": "https://vk.com/pvz_dnr?w=wall-201744740_796", "provider": "PVZ | Пункт выдачи заказов" }, { + "id": "536836", "coordinates": [ 38.142934, 48.321593 ], "name": "Горловка, ул. 40 лет Украины 9", - "link": "https://ozon.ru/point/536836", "address": "Горловка, ул. 40 лет Украины 9", "operationTime": "пн-вс с 9.00 до 18.00", "source": "https://vk.com/pvz_dnr?w=wall-201744740_796", "provider": "PVZ | Пункт выдачи заказов" }, { + "id": "536827", "coordinates": [ 38.059606, 48.329483 ], "name": "Горловка, ул. Бессонова 29а", - "link": "https://ozon.ru/point/536827", "address": "Горловка, ул. Бессонова 29а", "operationTime": "пн-вс с 9.00 до 18.00", "source": "https://vk.com/pvz_dnr?w=wall-201744740_796", "provider": "PVZ | Пункт выдачи заказов" }, { + "id": "536832", "coordinates": [ 38.020943, 48.305576 ], "name": "Горловка, ул. Гагарина 32", - "link": "https://ozon.ru/point/536832", "address": "Горловка, ул. Гагарина 32", "operationTime": "пн-вс с 9.00 до 18.00", "source": "https://vk.com/pvz_dnr?w=wall-201744740_796", "provider": "PVZ | Пункт выдачи заказов" }, { + "id": "536666", "coordinates": [ 38.211377, 48.248815 ], "name": "Енакиево, 50 лет Октября 58а", - "link": "https://ozon.ru/point/536666", "address": "Енакиево, 50 лет Октября 58а", "operationTime": "пн-вс с 9.00 до 18.00", "source": "https://vk.com/pvz_dnr?w=wall-201744740_796", "provider": "PVZ | Пункт выдачи заказов" }, { + "id": "536668", "coordinates": [ 38.20826, 48.218447 ], "name": "Енакиево, ул. Ленина 91а", - "link": "https://ozon.ru/point/536668", "address": "Енакиево, ул. Ленина 91а", "operationTime": "пн-вс с 9.00 до 18.00", "source": "https://vk.com/pvz_dnr?w=wall-201744740_796", "provider": "PVZ | Пункт выдачи заказов" }, { + "id": "518290", "coordinates": [ 37.525568, 47.122058 ], - "link": "https://ozon.ru/point/518290", "name": "г. Мариуполь ул. Урицкого 63", "address": "г. Мариуполь ул. Урицкого 63", "operationTime": "неизвестно", @@ -708,11 +708,11 @@ "provider": "7dostavka" }, { + "id": "524695", "coordinates": [ 37.964861, 48.042703 ], - "link": "https://ozon.ru/point/524695", "name": "Макеевка, улица Ленина, 50А", "address": "Макеевка, улица Ленина, 50А", "operationTime": "неизвестно", @@ -720,11 +720,11 @@ "provider": "7dostavka" }, { + "id": "533299", "coordinates": [ 37.964385, 48.063151 ], - "link": "https://ozon.ru/point/533299", "name": "Макеевка, улица Ленина, 108", "address": "Макеевка, улица Ленина, 108", "operationTime": "неизвестно", @@ -732,11 +732,11 @@ "provider": "7dostavka" }, { + "id": "536829", "coordinates": [ 37.554403, 47.1071 ], - "link": "https://ozon.ru/point/536829", "name": "Мариуполь, пр. Металлургов 97", "address": "Мариуполь, пр. Металлургов 97", "operationTime": "неизвестно", @@ -744,11 +744,11 @@ "provider": "7dostavka" }, { + "id": "536828", "coordinates": [ 37.567455, 47.13514 ], - "link": "https://ozon.ru/point/536828", "name": "Мариуполь, пр. Металлургов 227", "address": "Мариуполь, пр. Металлургов 227", "operationTime": "неизвестно", @@ -756,11 +756,11 @@ "provider": "7dostavka" }, { + "id": "536673", "coordinates": [ 37.65426, 47.106075 ], - "link": "https://ozon.ru/point/536673", "name": "Мариуполь, пр. Победы 89", "address": "Мариуполь, пр. Победы 89", "operationTime": "неизвестно", @@ -768,11 +768,11 @@ "provider": "7dostavka" }, { + "id": "536837", "coordinates": [ 37.687749, 47.125122 ], - "link": "https://ozon.ru/point/536837", "name": "Мариуполь, ул. Киевская 51", "address": "Мариуполь, ул. Киевская 51", "operationTime": "неизвестно", @@ -780,11 +780,11 @@ "provider": "7dostavka" }, { + "id": "536835", "coordinates": [ 37.675083, 47.113282 ], - "link": "https://ozon.ru/point/536835", "name": "Мариуполь, ул. Февральская 44а", "address": "Мариуполь, ул. Февральская 44а", "operationTime": "неизвестно", @@ -792,11 +792,11 @@ "provider": "7dostavka" }, { + "id": "536831", "coordinates": [ 37.539257, 47.096568 ], - "link": "https://ozon.ru/point/536831", "name": "Мариуполь, Казанцева 22а", "address": "Мариуполь, Казанцева 22а", "operationTime": "неизвестно", @@ -804,11 +804,11 @@ "provider": "7dostavka" }, { + "id": "538187", "coordinates": [ 36.792245, 46.755007 ], - "link": "https://ozon.ru/point/538187", "name": "г. Бердянск проспект Победы 11 б", "address": "г. Бердянск проспект Победы 11 б", "operationTime": "неизвестно", @@ -816,11 +816,11 @@ "provider": "7dostavka" }, { + "id": "538091", "coordinates": [ 38.48274, 48.043203 ], - "link": "https://ozon.ru/point/538091", "name": "г. Шахтёрск, улица Крупская,1( района автовокзала)", "address": "г. Шахтёрск, улица Крупская,1( района автовокзала)", "operationTime": "неизвестно", @@ -828,11 +828,11 @@ "provider": "7dostavka" }, { + "id": "538092", "coordinates": [ 38.144865, 48.037727 ], - "link": "https://ozon.ru/point/538092", "name": "г.Харцызск, ул.Вокзальная, 67", "address": "г.Харцызск, ул.Вокзальная, 67", "operationTime": "неизвестно", @@ -840,11 +840,11 @@ "provider": "7dostavka" }, { + "id": "538093", "coordinates": [ 38.150597, 48.042505 ], - "link": "https://ozon.ru/point/538093", "name": "г.Харцызск, ул.Первомайская,1а", "address": "г.Харцызск, ул.Первомайская,1а", "operationTime": "неизвестно", @@ -852,11 +852,11 @@ "provider": "7dostavka" }, { + "id": "538181", "coordinates": [ 37.806057, 47.958853 ], - "link": "https://ozon.ru/point/538181", "name": "г. Донецк, Куприна 3а", "address": "г. Донецк, Куприна 3а", "operationTime": "неизвестно", @@ -864,11 +864,11 @@ "provider": "7dostavka" }, { + "id": "538177", "coordinates": [ 37.849239, 48.009934 ], - "link": "https://ozon.ru/point/538177", "name": "г. Донецк, бул. Шевченко 66", "address": "г. Донецк, бул. Шевченко 66", "operationTime": "неизвестно", @@ -876,11 +876,11 @@ "provider": "7dostavka" }, { + "id": "538178", "coordinates": [ 37.995841, 47.413247 ], - "link": "https://ozon.ru/point/538178", "name": "пгт. Тельманово ул. Ленина 251", "address": "пгт. Тельманово ул. Ленина 251", "operationTime": "неизвестно", diff --git a/scripts/merge-data.js b/scripts/merge-data.js index bbe5d80..6e15090 100644 --- a/scripts/merge-data.js +++ b/scripts/merge-data.js @@ -1,6 +1,7 @@ import fs from "node:fs/promises"; import { asyncMap } from "modern-async"; import { getDistance } from "ol/sphere.js"; +import { extractIDFromURL } from "./utils.js"; function removeDuplicatesByUrl(points) { const uniquePoints = []; @@ -64,6 +65,12 @@ async function main() { data = data.flatMap((v) => v); data = removeDuplicatesByUrl(data); data = removeDuplicatesByRadius(data, 10); + + // pick all except url + data = data.map(x => { + const { link, ...rest } = x; + return { id: extractIDFromURL(link), ...rest }; + }); await fs.writeFile("merged-data.json", JSON.stringify(data, undefined, 2)); } diff --git a/scripts/utils.js b/scripts/utils.js index 687fcab..7a59f04 100644 --- a/scripts/utils.js +++ b/scripts/utils.js @@ -63,3 +63,15 @@ export async function getTelegramMessage(input) { .innerHTML, }; } + +/** + * Извлекает идентификатор пункта выдачи OZON из ссылки + * @param {string} url + */ +export function extractIDFromURL(url) { + const match = url.match(/https:\/\/ozon\.ru\/point\/([0-9]+)/); + if (match) { + return match[1]; + } + return null; +} \ No newline at end of file diff --git a/src/features.js b/src/features.js index 8caf347..e8ba344 100644 --- a/src/features.js +++ b/src/features.js @@ -22,7 +22,7 @@ function createFeatures(places) { geometry: new Point(fromLonLat(place.coordinates)), name: `[${place.provider}] ${place.name}`, address: place.address, - link: place.link, + id: place.id, source: place.source, operationTime: place.operationTime, }); diff --git a/src/index.html b/src/index.html index be91bd3..3c6dc83 100644 --- a/src/index.html +++ b/src/index.html @@ -111,6 +111,9 @@

+

+ Пункт Партнёра +

Источник

diff --git a/src/popup.js b/src/popup.js index f183fa6..47d0d6d 100644 --- a/src/popup.js +++ b/src/popup.js @@ -10,10 +10,12 @@ const closer = el("popup-closer"); const popupName = el("popup-name"); const popupAddress = el("popup-address"); const popupLink = el("popup-link"); +const popupPVZId = el("popup-pvz-id"); const popupCanvas = el("popup-canvas"); const popupSource = el("popup-source"); const popupOperationTime = el("popup-operation-time"); + const overlay = new Overlay({ element: popup, autoPan: true, @@ -41,16 +43,21 @@ function onClick(event) { const [lon, lat] = toLonLat(coordinates); + + const pvzId = feature.get("id"); + + const link = `https://ozon.ru/point/${pvzId}`; + popupName.textContent = feature.get("name"); popupAddress.textContent = feature.get("address"); - popupAddress.href = `https://yandex.ru/maps/?whatshere[point]=${lon},${lat}&whatshere[zoom]=18&l=map` - popupLink.href = feature.get("link"); + popupAddress.href = `https://yandex.ru/maps/?whatshere[point]=${lon},${lat}&whatshere[zoom]=18&l=map`; + popupLink.href = link; popupSource.href = feature.get("source"); popupOperationTime.innerHTML = feature.get("operationTime") ?? "неизвестно"; + popupPVZId.innerText = pvzId; - QRCode.toCanvas(popupCanvas, feature.get("link"), function (error) { + QRCode.toCanvas(popupCanvas, link, function (error) { if (error) console.error(error); - console.log("success!"); }); overlay.setPosition(coordinates);