10 функций «Яндекс.Карт», о которых мало кто знает
«Яндекс.Карты» не нуждаются в приложении: это популярнейшее приложение для навигации на территории РФ. Однако многие пользователи не подозревают, что оно имеет ряд дополнительных функций. Портал afisha.ru рассказал о десяти скрытых фишках «Яндекс.Карт».
Открытые точки Wi-Fi
«Яндекс.Карты» способны показывать беспроводные точки доступа, открытые для всех желающих. Для этого в поисковой строке нужно ввести слово «вайфай»; если вы ищете заведение, где можно войти в Интернет, попробуйте, например, «кафе с вайфаем». После этого на карте появятся ближайшие локации.
Поиск ресторанов по кухням
Ищете места, где готовят блюда из той или иной региональной кухни? Наберите в поиске «азиатская кухня» — и на карте появятся соответствующие кафе и рестораны. Этот трюк также работает для поиска бизнес-ланчей, завтраков, кофе на вынос и других мелочей. Всего «Яндекс.Карты» распознают 55 разных кухонь — их полный список можно изучить в меню фильтров.
Парковочные места
Слой «Парковки», который можно включить в настройках, показывает ближайшие места для парковки. Голубым цветом подсвечиваются места, где можно парковаться бесплатно, синим или темно-синим — платные стоянки. Наконец, только что освободившиеся места отображаются зелеными точками: приложение также подскажет, давно ли оно стало свободным.
Отметки эмодзи на картах
Интересные и примечательные места можно отмечать на карте при помощи эмодзи, но пока эта функция доступна только в «Яндекс.Картах» для iOS. Создайте новый список и поставьте в начало его названия эмодзи — после этого все локации будут отмечены соответствующим смайликом. Для того, чтобы воспользоваться отметками эмодзи, вам понадобится войти в аккаунт «Яндекса».
Масштабирование карты кнопками громкости
Масштабы карты можно изменять при помощи кнопок громкости телефона, не касаясь экрана. Эта функция включается в настройках, меню «Карта» — «Клавиши громкости», но только на Android-смартфонах.
Недорогие места
Для поиска недорогих ресторанов и прочих заведений достаточно лишь набрать в поиске нечто вроде «низкие цены», «дешево» или «умеренные цены». Дешевым приложение считает средний чек на 200-500 рублей, средним — в районе 1000 рублей. Более того, карты отдельно подскажут дополнительную информацию: например, цену бокала пива в баре или чашки кофе в кофейне.
Организации на конкретной улице
Если в поисковой строке ввести заведение и название улицы, то карты покажут вам локации только в пределах заданной области. Например, «аптеки на Пушкинской» или «бары на Некрасова».
Маршруты общественного транспорта
Слой «Транспорт» показывает активные ветки всего общественного транспорта: автобусов, маршруток, троллейбусов, трамваев. Если вы нажмете на метку, то карты покажут полный маршрут движения. При нажатии на остановку также отображается интервал прибытия рейсов.
Очистка загруженных карт
Если вам не хватает свободного места на телефоне, вы всегда можете очистить загруженные приложением карты: информацию о проложенных маршрутах, оффлайн карты городов и так далее. Это делается в меню «Загрузка карт» — нажмите на настройки нужной вам карты и выберите опцию «Удалить».
Экспорт и распечатка карты
На ПК-версии «Яндекс.Карт» можно создать собственную карту, сохранить ее в виде файла и затем перевести в другой формат, чтобы использовать на традиционном навигаторе или другом электронном устройстве. Веб-версия приложения также разрешает печатать карты — или скачивать их формате PDF.
Яндекс карты limited что это
Юнистрим ЮНИСТРИМ (UNIStream) — международная система срочных денежных переводов для физических лиц. Охват системы ЮНИСТРИМ — более 100 000 пунктов обслуживания в 90 странах мира. Содержание История… Подробнее » Юнистрим банк чей это банк
Эффект сноба имеет место когда
- автор: admin
- 15.07.2023
Что такое эффект сноба. Объясняем простыми словами Эффект сноба — падение спроса на дорогие и редкие товары по мере увеличения их доступности. Проще говоря, это… Подробнее » Эффект сноба имеет место когда
Электронные визы для россиян в какие страны
- автор: admin
- 15.07.2023
Электронная виза Во время планирования поездки за рубеж немало путешественников сталкивается с проблемой оформления визового разрешения на пересечение границы. За ним зачастую туристы обращаются в… Подробнее » Электронные визы для россиян в какие страны
Яндекс карты limited что это
- автор: admin
- 15.07.2023
Сервис «Яндекс.Карты» неверно считает запросы http api и нарушает собственные правила У меня есть сайт недвижимости tvoyadres.ru с посещаемостью 30 000 человек в сутки, и… Подробнее » Яндекс карты limited что это
Юлия цепляева сбербанк где сейчас
- автор: admin
- 15.07.2023
Юля Цепляева. Наши дни Ребята, я стала мамой. «Ну и фиг с ней подумаете Вы». Так то оно так, но в сентябре 2021… Подробнее » Юлия цепляева сбербанк где сейчас
Парсинг Яндекс Карт или как найти целевую аудиторию
Всем привет, меня зовут Стешенко Артем. Я работаю в Data Science и также занимаюсь небольшим проектом по разработке страниц (или мультиссылок) для самозанятых.
Бизнес-задача
Перед тем как перейти к парсингу Яндекс Карт, расскажу, какую задачу я хотел решить.
Я решил узнать, кто является целевой аудиторией для сервисов мультиссылок, например Taplink. Если зайти на сайт Taplink’a [ссылка удалена модератором] , то они там показывают сценарии использования сервиса и пишут о категориях клиентов, на которые они ориентируются. Это “популярные люди”, “бизнес”, “интернет-магазин” и “каждый”. На лендинге немало примеров работ для оффлайн бизнеса, поэтому появилась идея проверить, используют ли вообще эти категории бизнеса сервисы мультиссылок. И для этого пригодится информация с Яндекс Карт.
Поделим сайты на типы:
- сайты на собственном домене (или сделанные в конструкторе, или разработанные самостоятельно)
- сайты на домене конструктора
- страницы на домене сервиса мультиссылок
- последний тип организаций без сайта, но с соцсетью
Целевой аудиторией будут те организации, где последние три категории представлены в большом количестве. Почему так? Потому что компании, имеющие соцсети, развиваются, и многим из них в скором времени может понадобиться сайт. А большое количество организаций (определенной категории бизнеса), которые пользуются конструктором, говорит о том, что этому сегменту интересны сервисы мультиссылок. Бизнес со своим доменом с большой вероятностью не перейдет в Taplink.
Парсинг Карт
Перед тем, как что-то парсить, нужно узнать, есть ли у сервиса API. У Яндекс Карт оно есть, но там есть определенные ограничения. Найти XHR запросы в консоли разработчика или json‘ы в html странице мне не удалось, поэтому пришлось писать парсер на selenium и bs4.
Я разделил работу на две части. Первая: сбор ссылок на страницы организаций. Вторая: сбор информации по этим ссылкам.
Собираем ссылки организаций
LinksCollector — это сборщик ссылок, в метод run нужно передать город, район, тип организации и последний параметр type_org — это тип организации (а также папка, куда складываются ссылки)
from selenium import webdriver from link_parser import LinksCollector driver = webdriver.Safari() grabber = LinksCollector(driver) grabber.run(city='Москва', district='район Арбат', type_org_ru='Кафе', type_org='cafe')
Внутри LinksCollector : driver открывает https://yandex.ru/maps, вводит нужный запрос, собирает все организации по запросу в регионе и сохраняет.
Parser — это сборщик информации со страницы организации. В метод parse_data нужно передать список ссылок hrefs , которые мы нашли ранее и папку для сохранения информации type_org (у меня такая же, как тип организации).
from selenium import webdriver from info_parser import Parser driver = webdriver.Safari() parser = Parser(driver) parser.parse_data( hrefs=["https://yandex.ru/maps/org/tsentr_pravovykh_konsultatsiy/1180977373/"], type_org='cafe' )
Внутри Parser : webdriver обходит все страницы по списку и собирает следующую информацию: название, сайт, соцсети, телефон, адрес, рейтинг, время работы. Можно собирать и товары, и услуги при желании. Для моего «исследования» нужны только соцсети и сайт.
Немного аналитики
В jupyter-ноутбуке можно посмотреть на то, какие организации какие типы сайтов используют.
Кафе практически никогда не используют мультиссылки. Используют чаще всего сайт на своем домене или соцсети. Что логично по нескольким причинам:
- Крупные сети или дорогие рестораны имеют средства на свой сайт.
- Небольшим кафе проще добавлять свое меню в Яндекс Картах или постить фото в соцсети.
Поэтому сервисам мультиссылок стоит задуматься об API соцсетей и переносить посты с фото себе. Или сосредоточится на клиентах другой категории. Taplink у себя в лендинге целый раздел завел с примером кафе, хотя стоило бы сделать пример для категории, которая будет использовать сервис чаще и реально является потенциальным клиентом.
Следущая категория — это «Ногтевая студия». Почти все организации этого типа имеют соцсети, ведь нужно выкладывать фото красивых ноготочков. Но в отличие от «Кафе» некоторые имеют мультиссылки и используют их для записи в салон. Я думаю, если подумать над идеей переноса фото и постов из соцсетей, то пользователей будет больше, ведь тогда на красивые ноготочки можно будет смотреть на странице (мультиссылке).
Такие организации как «Отель», «Фитнес» делают свои сайты. «Шоурумы», как ни странно, тоже: для них важен модный дизайнерский сайт. Подробнее про то, как определялись типы сайтов, и больше аналитики можно посмотреть в ноутбуке.
Выводы
- Во-первых, сбор небольшого количества данных на коленке может помочь понять: какая ваша целевая аудитория и как себя лучше позиционировать.
- Просмотр их сайтов или соцсетей поможет понять, что нужно ЦА и какие фичи следует добавить, чтобы улучшить сервис.
Я надеюсь, вам понравилась статья.
Также надеюсь, что вам поможет парсер для ваших задач. Также не сомневаюсь, что многие могут написать его лучше. Тогда прошу делиться мыслями и идеями
- парсинг сайтов
- яндекс карты
- целевая аудитория
- позиционирование
- аналитика
- анализ данных
Яндекс Карты и React Native. Часть 1. Установка и примитивы
Начну с небольшой предыстории. Во время новогодних праздников мне нечем было особо заняться и я решил написать мобильное приложение, что-то вроде Zenly (социальная сеть, в которой в real-time можно увидеть, где сейчас находятся твои друзья), которое сейчас закрывает Snapchat. Решил делать это мобильное приложение на фреймворке js — React Native — для меня это казалось идеальным решением, так как такие языки как Kotlin или Swift я не особо уважаю, в силу того, что с ними ни разу не взаимодействовал. Первая задача с которой я столкнулся — это отображение карты в приложении и как на ней оставлять маркеры (в моём случае маркеры — это друзья в социальной сети). Эта тема на самом деле очень глубокая и копать в ней можно вплоть до написания своего картографического движка, но я решил воспользоваться чем-то из уже готовых решений. Из готовых решений с первым с чем я столкнулся — это интеграция Google Maps в приложение с помощью react-native-maps, однако, в современных реалиях Google не хочет предоставлять в Россию свои средства для разработчиков. Следующий вариант, который я рассматривал, это интеграция Mapbox в React Native. У Mapbox Maps SDK инструментарий мне понравился, там можно и стиль карты кастомизировать очень удобно, и весь нужный мне функционал присутствует. Однако, я всё же решил пойти дальше и наткнулся на Яндекс Карты для React Native. Они мне показались гораздо удобнее и легче в использовании в конкретно моём случае и я остановился на Яндекс Картах. В этой статье расскажу про начало работы с Яндекс Картами для React Native и базовые примеры того, что можно сделать с этой библиотекой.
Установка и инициализация Яндекс Карт для React Native
Установить библиотеку в проект можно с помощью менеджеров пакетов:
npm i react-native-yamap --save
yarn add react-native-yamap
Также, если у вас версия React Native ниже 0.60 необходима линковка библиотеки:
react-native link react-native-yamap
Далее переходим к инициализации библиотеки в наш проект. Для этого необходимо библиотеку импортировать и записать функцию инициализации, и передать в функцию строку с API-ключом, который можно получить на сайте кабинета Яндекс Разработчика.
import < YaMap, Marker >from 'react-native-yamap'; YaMap.init('ВАШ_API_КЛЮЧ');
И если вы пишете приложение для iOS, документация подсказывает, что необходимо инициализировать библиотеку в didFinishLaunchingWithOptions — функцию, которая находится в AppDelegate.m/AppDelegate.mm
#import . - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
Добавляем карту в приложение
Библиотеку мы инициализировали, теперь можно добавлять карту в приложение. Для этого воспользуемся компонентом карты. При добавлении карты наш компонент будет выглядеть как-то так:
export default function Habr() < return ( <> >); >
И что мы увидим, когда добавим компонент карты? Да вобщем-то ничего, он добавился, но для корректного отображения ему следует задать размеры. Для примера я сделал это как-то так. Наш компонент:
import MapStyles from './HabrStyles'; . export default function Habr() < return ( <> > >); >
Стили выглядят так:
import from 'react-native'; import < vw, vh >from 'react-native-expo-viewport-units'; export default MapStyles = StyleSheet.create(< map: < width: vw(100), height: vh(100), >, >)
Я для указания размеров использую viewport по старой привычке с css, однако, размеры там можно задавать как угодно.
Теперь у нас карта отобразилась и теперь наше приложение выглядит вот так:
Для компонента YaMap доступно использование пропсов, которые позволят настроить карту, как нам необходимо. Например, давайте сделаем, карту, на которой будет выключен показ текущей позиции пользователя, карта будет отображаться векторным изображением в ночном режиме и также я хочу отключить поворот камеры на карте. Также хочу, чтобы при открытии карты, камера находилась на координатах 30 по широте, 30 по долготе, уровень зума был выставлен на 7, а поворот по азимуту был выставлен на 0 градусов. Это будет выглядеть так:
export default function Habr() < return ( <> style=> >); >
Тогда при открытии карты мы видим следующее:
Добавляем примитивы на карту
Следующая задача с которой я столкнулся при разработке своего приложения, это отображение информации, в моём случае, пользователя, на карте. Нам доступно несколько примитивов с помощью которых мы может отображать ту или иную информацию на карте.
Конкретно для своей задачи я воспользовался компонентом Marker, который поместил в компонент YaMap. Давайте для примера на координатах 30 по широте и 30 по долготе установим маркер на нашей карте. Это будет выглядеть так:
export default function Habr() < return ( <> style= > > /> >); >
И тогда на экране мы увидим следующее:
Мы добавили совсем маленький, практически незаметный маркер, с помощью пропса увеличим его:
export default function Habr() < return ( <> style= > > scale= /> >); >
Вот так уже лучше. Но я хочу маркер как-то кастомизировать. Для этого можно с помощью пропса souce передать изображение в маркер, но мне интереснее другое, с помощью пропса children можно передать в маркер компонент, который собственно говоря у нас и будет отображаться на заданных координатах. Именно компонентом я хочу передавать изображение в маркер, потому что в случае если мы передаём ссылку на изображение без компонента, то если изображение имеет разрешение 100×100 пикселей, оно так и отображаться будет. Масштабировать можно при помощью scale, однако, тогда если мы отрисовываем много маркеров, у каждого из которого своё изображение и их надо как-то унифицировать, придётся задавать-подбирать scale для каждого отдельного маркера. Также я хочу добавить изображению обводку и сгладить углы.
export default function Habr() < return ( <> style= > source=> />> point=> /> >); >
Рассмотрим следующий примитив — Circle. Тут, я думаю, всё понятно из названия. Принимает он координаты центра окружности и её радиус. Также можно передавать другие параметры. Давайте допустим сделаем синий круг с тёмно-синей обводкой. Стоит также обратить внимание, что все примитивы принимают пропсом параметр zIndex, от которого будет завить, как они будут друг на друга накладываться.
export default function Habr() < return ( <> style= > source=> />> point=> zIndex= /> > radius= fillColor='#5789d9' strokeColor='#154ca3' strokeWidth= zIndex= /> >); >
Также существуют примитивы Polygon и Polyline, которые позволяют по точкам строить фигуры и линии соответственно. Стиль для этих примитивов задаётся также, как и для круга. Для примера давайте закрасим фигурой город Каир на карте, а также обозначим реку Нил линией.
export default function Habr() < return ( <> style= > source=> />> point=> zIndex= /> > radius= fillColor='#5789d9' strokeColor='#154ca3' strokeWidth= zIndex= /> , < lat: 30.070791, lon: 31.928108 >, < lat: 29.233658, lon: 31.228942 >, < lat: 29.983355, lon: 30.622998 >, ]> fillColor='#5789d9' strokeColor='#154ca3' strokeWidth= zIndex= /> , < lat: 29.364817, lon: 31.176281 >, < lat: 28.634771, lon: 30.862143 >, < lat: 27.490336, lon: 30.839704>, ]> fillColor='#5789d9' strokeColor='#154ca3' strokeWidth= zIndex= /> >); >
Думаю, общая концепция работы с примитивами на Яндекс Картах понятна. Также стоит отметить, что все они принимают в пропс onPress функцию, которая будет выполняться по нажатию на них и все эти примитивы необходимо импортировать перед использованием:
import < YaMap, Marker, Circle, Polygon, Polyline >from 'react-native-yamap';
Итог
В конце хочу сказать, что выше приведенные примеры, это совсем базовая работая с Yandex Maps SDK. Библиотека позволяет простраивать маршруты, использовать геокодер, в ней также можно настраивать стили для карты. Мне на эту тему есть что ещё сказать, как про Yandex Maps SDK, так и про Mapbox Maps SDK. Интересно было бы почитать комментарии, услышать, интересно это кому-то или нет, стоит дальше рассказывать про этот инструментарий или что-нибудь другое.