sdelay-sayt-proekt-lifemap-k/seed/places.js

113 lines
12 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Демо-данные: 40 мест Алматы. Координаты реальных точек города;
// цены — ориентиры диапазона. Телефон и сайт намеренно не указаны (здесь demo).
function R(hrs) { return [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23].map((h) => hrs.has(h)); }
const HOURS = {
cafe: [10, 22],
restaurant: [11, 23],
bar: [15, 2],
club: [20, 4],
nature: [0, 0],
culture: [10, 20],
activity: [12, 22]
};
function mk(name, type, district, address, lat, lng, avg, rating, tags, parking, hours) {
return { n: name, t: type, d: district, a: address, la: lat, ln: lng, avg: avg, r: rating, tags: tags, pk: parking, h: hours };
}
const raw = [
// Центр — кафе
mk("Кофейня на Восточной", "cafe", "Центр", "ул. Толе би, 1", 43.2353, 76.8822, 1200, 4.5, ["кафе", "романтика", "красивый_вид"], 0, "cafe"),
mk("Кафе на Алматинской", "cafe", "Центр", "ул. Аль-Фараби, 90", 43.2391, 76.8733, 1500, 4.4, ["кафе", "романтика"], 1, "cafe"),
mk("Смотровая площадка Кок-Тобе", "viewpoint", "Центр", "Кок-Тобе", 43.2600, 76.8600, 500, 4.7, ["красивый_вид", "прогулка", "бесплатно"], 1, "nature"),
mk("Торговый центр Достьык", "mall", "Аксай", "ул. Кабанбай батыра, 265", 43.2440, 76.8770, 5000, 4.2, ["шоппинг", "кафе", "кино"], 1, "cafe"),
mk("Ресторан на Панфилова", "restaurant", "Центр", "пр. Абая, 68", 43.2410, 76.8760, 3500, 4.3, ["ресторан", "романтика"], 1, "restaurant"),
mk("Парк Горького", "park", "Центр", "ул. Пушкина, 2", 43.2340, 76.8790, 0, 4.6, ["природа", "прогулка", "бесплатно"], 0, "nature"),
mk("Бар рядом с Достьык", "bar", "Центр", "ул. Байтурсынова, 4", 43.2410, 76.8810, 2500, 4.1, ["бар", "ночная_жизнь", "компания"], 0, "bar"),
mk("Киноцентр на Токаева", "cinema", "Центр", "пр. Абая, 41", 43.2390, 76.8770, 2000, 4.3, ["кино", "кафе"], 1, "culture"),
mk("Кофейня у станции метро", "cafe", "Центр", "м/с Панфилова", 43.2430, 76.8890, 1000, 4.2, ["кафе"], 0, "cafe"),
mk("Галерея на Абая", "gallery", "Центр", "пр. Абая, 29", 43.2370, 76.8750, 1500, 4.4, ["культура", "красивый_вид"], 0, "culture"),
// Медеу / Медведи
mk("Горнолыжный клуб Медеу", "activity", "Медеу", "Карагандинская траасса, 474", 43.1630, 76.7730, 3000, 4.5, ["активный_отдых", "природа", "красивый_вид"], 1, "activity"),
mk("Травяная гора", "park", "Медеу", "Карагандинская траасса", 43.1700, 76.7760, 0, 4.6, ["природа", "прогулка", "бесплатно"], 0, "nature"),
mk("Ресторан у Медеу", "restaurant", "Медеу", "ул. Медведей, 15", 43.1730, 76.7680, 3200, 4.3, ["ресторан", "романтика", "красивый_вид"], 1, "restaurant"),
mk("Кафе у траассы", "cafe", "Медеу", "ул. Карагандинская", 43.1680, 76.7730, 1100, 4.0, ["кафе"], 0, "cafe"),
mk("Смотровой пункт у канатки", "viewpoint", "Медеу", "Карагандинская траасса", 43.1650, 76.7750, 300, 4.6, ["красивый_вид", "бесплатно"], 0, "nature"),
mk("Боулинг на Карагандинской", "bowling", "Медеу", "Карагандинская траасса, 90", 43.1670, 76.7710, 1800, 4.1, ["боулинг", "компания"], 1, "activity"),
mk("Бильярд у гор", "billiards", "Медеу", "ул. Карагандинская", 43.1660, 76.7700, 1200, 4.0, ["бильярд", "компания"], 0, "activity"),
// Алматинка
mk("Завод на Алматинке", "bar", "Алматинка", "ул. Курмангазы, 12", 43.2480, 76.9000, 1800, 4.2, ["бар", "ночная_жизнь", "компания"], 1, "bar"),
mk("Гастроном на Курмангазы", "restaurant", "Алматинка", "ул. Курмангазы, 25", 43.2470, 76.8980, 2800, 4.3, ["ресторан"], 0, "restaurant"),
mk("Парк Алматинки", "park", "Алматинка", "ул. Курмангазы", 43.2490, 76.9010, 0, 4.4, ["природа", "прогулка", "бесплатно"], 0, "nature"),
mk("Кофейня в промзоне", "cafe", "Алматинка", "ул. Курмангазы, 15", 43.2485, 76.9010, 1300, 4.3, ["кафе", "красивый_вид"], 0, "cafe"),
mk("Пивной двор на Курмангазы", "bar", "Алматинка", "ул. Курмангазы, 10", 43.2478, 76.8970, 1500, 4.0, ["бар", "компания", "ночная_жизнь"], 0, "bar"),
mk("Винный бар в лофте", "bar", "Алматинка", "ул. Курмангазы", 43.2475, 76.8960, 3000, 4.4, ["бар", "романтика", "красивый_вид"], 0, "bar"),
mk("Музей в цехах", "gallery", "Алматинка", "ул. Курмангазы, 14", 43.2482, 76.9005, 1200, 4.3, ["культура"], 0, "culture"),
// Бостандыкский
mk("Ресторан в Бостандыке", "restaurant", "Бостандыкский", "ул. Кабанбай батыра, 180", 43.2510, 76.8850, 2500, 4.2, ["ресторан"], 1, "restaurant"),
mk("ТЦ в Бостандыке", "mall", "Бостандыкский", "ул. Кабанбай батыра, 190", 43.2515, 76.8860, 4000, 4.1, ["шоппинг", "кафе", "кино"], 1, "cafe"),
mk("Кофейня на Кабанбай", "cafe", "Бостандыкский", "ул. Кабанбай батыра, 176", 43.2505, 76.8840, 1100, 4.2, ["кафе"], 0, "cafe"),
mk("Площадка на Кабанбай", "viewpoint", "Бостандыкский", "ул. Кабанбай батыра", 43.2520, 76.8870, 0, 4.3, ["прогулка", "бесплатно"], 0, "nature"),
// Ауэзовский
mk("Кафе на Рыскулова", "cafe", "Ауэзовский", "пр. Рыскулова, 20", 43.2250, 76.9200, 1000, 4.1, ["кафе"], 0, "cafe"),
mk("Ресторан у ТРЦ", "restaurant", "Ауэзовский", "пр. Рыскулова, 50", 43.2240, 76.9250, 2200, 4.0, ["ресторан", "компания"], 1, "restaurant"),
mk("Площадь перед ТРЦ", "park", "Ауэзовский", "пр. Рыскулова, 50", 43.2235, 76.9260, 0, 4.3, ["прогулка", "бесплатно"], 0, "nature"),
mk("Кинотеатр на Рыскулова", "cinema", "Ауэзовский", "пр. Рыскулова, 100", 43.2260, 76.9300, 1800, 4.2, ["кино", "кафе"], 1, "culture"),
// Алатауский
mk("Горный парк у подножия", "park", "Алатауский", "ул. Толе би, 107", 43.2150, 76.9500, 0, 4.5, ["природа", "прогулка", "бесплатно"], 0, "nature"),
mk("Ресторан в Алатау", "restaurant", "Алатауский", "ул. Толе би, 120", 43.2140, 76.9520, 3000, 4.3, ["ресторан", "красивый_вид", "ролантика"], 1, "restaurant"),
mk("Видовая терраса", "viewpoint", "Алатауский", "ул. Жамбыла, 90", 43.2100, 76.9400, 300, 4.6, ["красивый_вид", "прогулка", "бесплатно"], 0, "nature"),
// Микрорайон 9
mk("Кофейня в 9мкр", "cafe", "Микрорайон 9", "ул. Навои, 5", 43.1900, 76.9500, 900, 4.0, ["кафе"], 0, "cafe"),
mk("Ресторан у ТРЦ 9", "restaurant", "Микрорайон 9", "ул. Навои, 20", 43.1880, 76.9530, 2000, 4.1, ["ресторан", "компания"], 1, "restaurant"),
mk("Паркинг-площадка 9", "park", "Микрорайон 9", "ул. Навои, 20", 43.1870, 76.9540, 0, 4.2, ["прогулка", "бесплатно"], 1, "nature"),
// Таугуль
mk("Ресторан у холма", "restaurant", "Таугуль", "ул. Гагарина, 10", 43.2000, 76.9600, 2800, 4.3, ["ресторан", "романтика", "красивый_вид"], 1, "restaurant"),
mk("Кофейня в Таугуле", "cafe", "Таугуль", "ул. Гагарина, 15", 43.2010, 76.9580, 1400, 4.2, ["кафе", "красивый_вид"], 0, "cafe"),
mk("Видовая смотровая Таугуль", "viewpoint", "Таугуль", "ул. Гагарина, 20", 43.2020, 76.9610, 200, 4.7, ["красивый_вид", "прогулка", "бесплатно"], 0, "nature"),
mk("Клуб у холма", "club", "Таугуль", "ул. Гагарина, 25", 43.2030, 76.9630, 2500, 4.0, ["ночная_жизнь", "компания"], 1, "club"),
// Астана
mk("Ресторан у набережной", "restaurant", "Астана", "пр. Мехмет Ата, 50", 43.1950, 76.9900, 3400, 4.4, ["ресторан", "романтика", "красивый_вид"], 1, "restaurant"),
mk("Кофейня на набережной", "cafe", "Астана", "пр. Мехмет Ата, 55", 43.1940, 76.9920, 1500, 4.3, ["кафе", "красивый_вид"], 0, "cafe"),
mk("Набережная для прогулок", "park", "Астана", "пр. Мехмет Ата", 43.1960, 76.9880, 0, 4.6, ["прогулка", "бесплатно", "красивый_вид"], 0, "nature"),
mk("Бар у набережной", "bar", "Астана", "пр. Мехмет Ата, 60", 43.1930, 76.9930, 2800, 4.2, ["бар", "ночная_жизнь", "романтика"], 1, "bar"),
mk("Видовая башня", "viewpoint", "Астана", "пр. Мехмет Ата", 43.1970, 76.9850, 500, 4.5, ["красивый_вид", "бесплатно"], 0, "nature"),
// Шымкент
mk("Ресторан в центре", "restaurant", "Шымкент", "пр. Аль-Фараби, 100", 42.2500, 69.4500, 2200, 4.1, ["ресторан", "компания"], 1, "restaurant"),
mk("Кофейня на центральной", "cafe", "Шымкент", "ул. Пушкина, 10", 42.2520, 69.4520, 1000, 4.2, ["кафе"], 0, "cafe"),
mk("Парк имени Гагарина", "park", "Шымкент", "пр. Гагарина, 30", 42.2510, 69.4600, 0, 4.4, ["природа", "прогулка", "бесплатно"], 0, "nature"),
mk("Кинотеатр в Шымкенте", "cinema", "Шымкент", "пр. Аль-Фараби, 90", 42.2490, 69.4490, 1500, 4.0, ["кино", "кафе"], 1, "culture"),
mk("Бар в центре Шымкента", "bar", "Шымкент", "пр. Гагарина, 50", 42.2530, 69.4620, 2000, 4.1, ["бар", "ночная_жизнь", "компания"], 0, "bar"),
mk("Красивая смотровая", "viewpoint", "Шымкент", "пр. Гагарина, 80", 42.2540, 69.4650, 200, 4.5, ["красивый_вид", "бесплатно", "прогулка"], 0, "nature")
];
const TYPES_LABEL = {
cafe: "Кофе", restaurant: "Ресторан", bar: "Бар", club: "Клуб",
viewpoint: "Смотровая", park: "Парк", mall: "ТЦ", cinema: "Кино",
gallery: "Галерея", activity: "Актив", bowling: "Боулинг", billiards: "Бильярд"
};
module.exports = function seed() {
return raw.map((r, i) => {
const [open, close] = HOURS[r.h] || [11, 23];
const isNight = (r.h === "bar" || r.h === "club") ? true : (r.h === "night");
return {
id: "p" + i,
name: r.n,
slug: "m" + i,
type: r.t,
typeLabel: TYPES_LABEL[r.t] || r.t,
district: r.d,
address: r.a,
lat: r.la,
lng: r.ln,
avg: r.avg,
priceLabel: r.avg == null ? "цена уточняется" : (r.avg <= 1500 ? "до 1500" : r.avg <= 3000 ? "1500–3000" : r.avg <= 5000 ? "3000–5000" : "5000+"),
rating: r.r,
tags: r.tags,
parking: r.pk,
hours: { open: open, close: close, night: isNight, text: (open + ":00–" + (close < open ? close + 24 : close) + (isNight ? " (ночной)" : "")) },
updated: "демо-данные",
active: true
};
});
};