API и интеграции

Създаване на персонализирано филтриране на карти на сайта с Google Maps API

  • 17 минути за четене
  • Екипът на Hostragons
Създаване на персонализирано филтриране на карти на сайта с Google Maps API

Създаването на персонализирано филтриране на карти на сайта с Google Maps API е интеграционен процес, който позволява на потребителите да филтрират местоположенията на вашия сайт - магазини, дистрибутори, филиали, събития, имоти, ресторанти или точки за услуги - според критерии като категория, град, разстояние, оценка, работно време и местоположение. За целта обикновено се получава API ключ през Google Cloud, активира се Maps JavaScript API, данните за местоположението се подготвят в организирана структура, създават се маркери или кластери и процесът на филтриране се изпълнява на клиентска или сървърна страна. Когато е настроено правилно, потребителят намира търсената точка по-бързо, времето за престой на страницата се увеличава и особено за посетители с местни търсения, процентът на конверсия се увеличава.

В това ръководство ще разгледаме техническите концепции по начин, приложим за реален уебсайт, без да оставяме нещата в теорията. Например, същият основен подход може да се използва за куриерска компания с 35 филиала, имотен сайт с 240 обяви или клинична верига с 12 местоположения; но размерът на данните, производителността и решенията за сигурност ще варират. В съдържанието, подготвено за блога на Hostragons, ще разгледаме стъпка по стъпка как да планираме бърза, сигурна, мобилна и устойчива структура за филтриране на карти, съобразена с очакванията за SEO и потребителски опит за 2026 година. Ако инфраструктурата на вашия уебсайт още не е готова, изборът на надежден хостинг е важен за производителността на приложението: Hostragons решения за уеб хостинг.

Какво е персонализирано филтриране на карти и кога се използва?

Персонализираното филтриране на карти е процес на моментално стесняване на показаните местоположения на картата в зависимост от избора на потребителя. Докато на стандартна карта всички точки се показват едновременно, функцията за филтриране дава контрол на потребителя. Потребителят може да види само отворените магазини, дистрибуторите, които предлагат определена услуга, клиники, близки до него на 10 километра, или имотни обяви в определен ценови диапазон. Тази структура е по-визуална, по-бързо разбираема и по-практична за мобилни потребители в сравнение с класическите страници с листи.

Тази функция е особено ефективна за бизнеси, фокусирани върху местоположението. Страниците за намиране на дистрибутори, вериги ресторанти, точки за доставка на куриерски услуги, сайтове за търсене на хотели, календари на събития, офиси за наем на автомобили, сервизни точки и местни платформи с указатели са най-често срещаните примери. Ако посетителят премине към действия като обаждане по телефона, получаване на указания, записване на час или искане на оферта след избиране на местоположение, персонализираното филтриране на карти не е само естетична функция, а е директен инструмент за конверсия.

Правилен избор на компоненти на Google Maps API

Google Maps Platform не се състои само от един API. Вместо това, в зависимост от нуждите, се използват различни услуги. Най-често използваният компонент е Maps JavaScript API; тази услуга ви позволява да създавате картата на уеб страницата, да добавяте маркери, да настройвате нивото на приближаване и да управлявате взаимодействията на потребителите. Ако искате потребителите да търсят адреси или имена на бизнеси, трябва да използвате Places API, ако искате да преобразувате адрес в координати - Geocoding API, а ако искате да изчислите маршрут или разстояние между две точки - Directions API или Distance Matrix API.

За прост инструмент за намиране на филиали само Maps JavaScript API може да е достатъчен. Ако искате потребителят да въведе своя адрес и да намери най-близкия филиал, трябва да добавите Geocoding API. Ако искате да покажете на потребителя приблизителното време за шофиране или разстояние до дестинацията, ще е необходим Distance Matrix API. Правилното разграничение в началото е важно с оглед на разходите, скоростта и сложността на кода. Ненужното използване на API може да увеличи сметката ви и да доведе до по-бавно зареждане на страницата.

Необходими услуги за минимална настройка

  • Maps JavaScript API: Използва се за показване на картата на уеб страницата и управление на маркерите.
  • Geocoding API: Предпочита се за преобразуване на адресни данни в координати на ширина и дължина.
  • Places API: Използва се за автоматично завършване, търсене на места и обогатяване на данни за бизнеси.
  • Distance Matrix API: Използва се за изчисляване на разстоянието и времето между потребителя и точките.
  • Cloud Billing и ограничения на API: Задължителни конфигурации за безопасна и контролирана работа на ключа.

Планиране: Проектирайте логиката на филтрирането преди кода

Най-критичната част от успешната интеграция на карти се извършва преди писането на код. Първо трябва да определите кои данни ще се филтрират, в какъв ред потребителят ще прави своя избор и какво ще се актуализира в резултат на филтрирането. Например, за сайт на клиника филтрите може да включват град, специалност, лекар, налични часове и достъпност за хора с увреждания. За имотен сайт важното е район, цена, брой стаи, тип обява и разстояние до потребителя. За верига ресторанти приоритетите са доставка, паркинг, работно време и вид кухня.

В този етап е важно да останете прости. В първата версия 4-6 основни филтъра са достатъчни за повечето проекти. Повече от 10 филтъра могат да оставят потребителя в несигурност и да затруднят опита на мобилния екран. Освен това всеки филтър трябва да се основава на поле с последователно представяне в базата данни. Например, ако в полето за категория понякога пише кафе, понякога кафе, а понякога coffee shop, резултатите ще бъдат неправилни. Следователно стандартизацията на данните е основата на качеството на филтрирането на карти.

Примерна модел на данни

За страница за намиране на дистрибутори всяко местоположение трябва да съдържа поне следните полета: уникален идентификатор, име на бизнеса, ширина, дължина, град, район, категория, телефон, адрес, работно време, статус на активност и връзка към страницата с детайли. В по-сложни сценарии могат да се добавят оценки, наличност на стока, типове услуги, информация за кампании, снимки и дата на последна актуализация. Управлението на тези данни с JSON файл е възможно до 100 записа, но в по-големи структури е по-добре да се използва база данни и API крайна точка.

Сравнение: Филтриране на клиентска и сървърна страна

Филтрирането на карти може да бъде настроено по два основни начина. При филтриране на клиентска страна всички данни за местоположението се зареждат на страницата и потребителските избори се обработват в браузъра. При филтриране на сървърна страна, когато потребителят прилага всякакви филтри, се изпраща заявка до сървъра и се връщат само подходящите резултати. Кой метод е правилен, зависи от броя на данните, обема на трафика и нуждата от сигурност.

Сравнение: Филтриране на клиентска и сървърна страна
ПодходКога е подходящ?ПредимствоВнимание
Филтриране на клиентска странаМежду 10 и 300 местоположения, прости филтриМного бърз отговор, намалява броя на заявките към сървъраВсички данни отиват при потребителя; не трябва да има чувствителна информация
Филтриране на сървърна страна300+ местоположения, интензивен трафик, сложни запитванияПо-скалируемо и контролираноАко не е добре оптимизирано, може да има забавяне
Хибридно филтриранеСредни и големи проектиПървоначално зареждане на основни данни, детайли чрез заявка към сървъраПланирането и тестовият процес изискват повече внимание

Практическият съвет е следният: за бизнес с 50 филиала филтрирането на клиентска страна е достатъчно. За имотен сайт с 500 обяви филтрирането на сървърна страна е по-подходящо. В платформа с 5000 местоположения, трябва да се предпочете хибридна структура с поддръжка на страници и клъстери, която връща резултатите в рамките на границите на картата.

Стъпка по стъпка настройка на персонализирано филтриране с Google Maps API

1. Създайте проект в Google Cloud и API ключ

Първата стъпка е да създадете проект в Google Cloud Console. Изберете име на проекта, свързано с вашия уебсайт. След това активирайте необходимите услуги, най-вече Maps JavaScript API. След като създадете API ключ, непременно добавете ограничения за HTTP реферер. Например, ключът трябва да работи само на domain.com и www.domain.com. Ако пропуснете тази стъпка, вашият ключ може да бъде използван на други сайтове и да доведе до неочаквани разходи.

За използването на Google Maps Platform е необходима фактурна сметка. Това не означава, че всеки проект непременно ще бъде с високи разходи; но е задължително да се следи квотата и използването. Настройването на дневни лимити за заявки, имейл известия и аларми за бюджета е част от професионалното приложение. Ако подготвяте домейна си за нов проект, надеждното управление на регистрацията и DNS също е важно: Hostragons услуги за регистрация на домейн.

2. Подгответе солидна инфраструктура за страницата с картата

Страниците с карти работят визуално интензивно. Броят на маркерите, библиотеката за карти, изображенията и API заявките могат да повлияят на скоростта на страницата. Следователно вашият хостинг пакет трябва да отговаря на актуалните изисквания за PHP, Node.js или фреймуърка, който използвате. Ако използвате WordPress, трябва да се провери натоварването на темата и плъгините. Ако използвате собствен софтуер, трябва да се определи стратегия за кеширане на API крайни точки.

При интеграции на карти, HTTPS трябва да се счита за задължително. Разрешението за местоположение на потребителя, изпращането на формуляри и API повикванията трябва да работят през защитена връзка. Сайтовете без SSL сертификат могат да предизвикат предупреждения в браузъра, които намаляват доверието и някои функции за местоположение може да не работят както се очаква. В този момент можете да оцените подходящите опции за сертификати чрез страницата на Hostragons SSL сертификати.

3. Стандартизирайте данните за местоположението

Точността на филтрирането на карти зависи от качеството на данните. Всеки местоположение трябва да има точни стойности на ширина и дължина. Доверяването само на текстови адреси може да доведе до неправилно разположение на маркерите. Особено в градове с улици и квартали с еднакви имена координатният контрол трябва да се извършва ръчно. Дори в проект с 100 записа, 3-5 неправилни координати могат сериозно да повредят доверието на потребителите.

За стандартизация на данните, фиксирайте имената на категориите, поддържайте полетата за град и район в един формат, пишете телефонните номера близо до международния формат и не показвайте неактивни местоположения на картата. Също така е полезно да запазите датата на последна актуализация. Ако работното време на едно местоположение е променено преди 8 месеца, дори и картата технически да работи, потребителският опит ще бъде неуспешен.

4. Настройте синхронизация на маркери, информационни прозорци и списъци

Когато потребителят избере маркер на картата, трябва да се отвори кратко информационно поле. Това поле може да съдържа името на бизнеса, адреса, телефона, статус на работа, линк за указания и бутон за детайли. В същото време списък с резултати също трябва да се актуализира до или под страницата. Когато картата и списъкът са синхронизирани, потребителят може да вземе решение както визуално, така и текстово. На мобилни устройства, показването на списъка под картата обикновено осигурява по-удобно преживяване.

Ако има много маркери, трябва да се използва кластер. Кластерът събира близките точки под една групова икона, което прави картата по-чиста и по-бърза. Неполучаването на кластер при проекти с над 300 маркери може значително да намали производителността на страницата. При проекти с 1000 маркери и повече, извличането на данни в зависимост от границите на картата е по-професионален подход.

5. Ясно и измеримо определете правилата за филтриране

Как филтрите ще работят трябва да бъде ясно видимо за потребителя. Например, ще бъде ли филтърът за категория с многократен избор или с един избор? Ще работи ли филтърът за разстояние в зависимост от текущото местоположение на потребителя или центъра на избрания град? Ще проверява ли филтърът за отворени места работните часове в реално време или мануално активирания статус? Тези решения влияят както на софтуерната страна, така и на очакванията на потребителите.

За филтъра за разстояние може да се използва Haversine формула или Google Distance Matrix API. Ако разстоянието по права линия е достатъчно, Haversine е по-бърз и с по-ниски разходи. Ако е необходимо времето за шофиране, Distance Matrix API дава по-точни резултати. Например, ако потребителят търси най-близкия дежурен сервиз, времето за шофиране може да е важно; но за изброяване на близките магазини, разстоянието по права линия обикновено е достатъчно.

6. Приоритизирайте мобилното преживяване

Значителна част от потребителите, които извършват локално търсене, са на мобилни устройства. Следователно, височината на картата, панелът за филтриране, зоните за докосване и подредбата на списъка трябва да бъдат проектирани с приоритет на мобилната версия. Представянето на филтрите в изскачащ панел или табове дава по-добри резултати на малки екрани. Действията като получаване на указания, търсене и WhatsApp трябва да са достъпни с едно натискане.

Често срещаната грешка на мобилните устройства е да покрият почти целия екран с картата и да направят филтрите невидими. Потребителят иска първо да филтрира, а след това да види резултатите. Следователно картата, филтърът и списъкът с резултати трябва да бъдат балансирано разположени. Освен това, когато потребителят не е дал разрешение за местоположение, трябва да е възможно да се избере алтернативно местоположение като град или район.

Оптимизация на производителността: Скорост, квота и потребителски опит

При интеграцията на Google Maps API производителността не е само скоростта на страницата; тя включва също така квотата на API, размер на данните и скоростта на взаимодействията на потребителите. Зареждайте библиотеката на картата само на необходимите страници. Ако на началната страница няма карта, не извиквайте API скрипта на целия сайт. Представяйте данните за местоположението в компресирана JSON форма и използвайте кеширане за неизменни данни. Този подход намалява както натоварването на сървъра, така и времето за първоначално зареждане.

Друг важен аспект са визуалните съдържания. Ако използвате големи снимки в информационния прозорец, трябва да предпочетете WebP формат и подходящо оразмеряване. Използването на изображение от 400 KB вместо 20 KB може да създаде сериозно натоварване с 50 маркера. Ако страницата с картата получава интензивен трафик от маркетингови кампании, е полезно да се избере мащабируема хостинг инфраструктура: Hostragons решения за корпоративен хостинг.

  • Зареждайте картовия API само на необходимите страници.
  • Използвайте структура на клъстери за над 300 маркера.
  • Представяйте данните с gzip или brotli компресия.
  • Използвайте индексирани базови данни за заявки на сървърна страна.
  • Настройте бюджетна аларма в Google Cloud за ограничения на употребата.
  • Направете панела за филтри бързо достъпен на мобилни устройства.

Сигурност: Защитете API ключа и потребителските данни

Мисленето за API ключа като за секретна парола може да бъде заблуждаващо; Maps JavaScript API ключът, който работи в браузъра, може да бъде видян от потребителя. Следователно сигурността се осигурява не толкова чрез съхранение на ключа, а чрез правилното му ограничаване. Ограничението за HTTP реферер, активирането само на необходимите API услуги, лимити на квотите и предупреждения за необичайна употреба трябва да се прилагат непременно. При услугите на сървърна страна ключът трябва да се съхранява в променливи на средата и не трябва да бъде изпращан на клиента.

Данни като местоположението на потребителя са чувствителни. Обясняването защо се нуждаете от разрешение за местоположението преди да го поискате изгражда доверие. Не записвайте моментното местоположение на потребителя без нужда. Ако е необходимо да го запишете, разгледайте процеси, съвместими с GDPR, като съгласие, политика за конфиденциалност и срок за съхранение на данните. За надеждна уеб инфраструктура е важно също да имате SSL, редовно архивиране и актуални версии на софтуера: Използване на SSL за сигурност на уебсайт.

Как да структурирате страниците с филтриране на карти за SEO?

Филтрирането на карти подобрява потребителския опит; но за SEO не е достатъчно само по себе си. Google ботовете не винаги могат да разберат информацията за маркерите на картата, както очаквате. Затова е важно да има четими текстови съдържания в HTML за важни местоположения. Името на филиала, адресът, телефонът, работните часове и информацията за услуги не трябва да се генерират само с JavaScript; по възможност те трябва да са достъпни на сървърна страна или в статичен HTML.

За локалното SEO е голямо предимство всеки филиал да има собствена страница с детайли. Например, за филиала в Чанкая, Анкара, може да се предостави специален URL, уникално описание, адрес, указания и информация за контакт. Тези страници могат да бъдат подкрепени с структурирани данни LocalBusiness или Organization. Докато страницата с филтриране на карти има за цел общо откритие, страниците с детайли на филиалите дават по-ясен контекст за търсачките. Този подход особено увеличава органичната видимост за бизнеси с много местоположения.

Списък за проверка за SEO

  • Използвайте описателни H1, H2 и текстови съдържания на страницата с картата.
  • Не оставяйте важна информация за местоположения само в маркерите на картата.
  • Създайте страници с детайли за филиали или местоположения.
  • Планирайте структурата на URL адресите да бъде чиста и ясна.
  • Тествайте скоростта на страницата според метриките на Core Web Vitals.
  • Използвайте структурирани данни за местни бизнеси на подходящи страници.
  • Добавете страницата с карти в XML сайта карта.

Чести грешки и професионални решения

Най-честата грешка е бързо да настроите целия проект с плъгин и да пренебрегнете качеството на данните. Плъгините могат да бъдат практични за малки бизнеси; но специалната филтърна логика, многократни категории, изчисление на разстояния и скалируема производителност могат да бъдат ограничени при необходимост. Втората грешка е да пуснете API ключа без ограничения. Третата грешка е да заредите много маркери, визуални елементи и скриптове от трети страни, без да тествате скоростта на страницата.

Професионалното решение е да изберете архитектура в зависимост от обхвата на проекта. За бизнес с 20 местоположения простата JSON базирана структура е бърза и достатъчна. За платформа с 2000 местоположения са необходими индекси на базата данни, филтриране на сървърна страна, кеширане и запитвания на базата на границите на картата. Ако проектът работи върху WordPress, може да се създаде управляем модел с персонализирани типове постове и полета. В собствен софтуер може да се избере гъвкава архитектура с REST API или GraphQL крайни точки.

Примерен сценарий: Мрежа от услуги с 80 филиала

Нека разгледаме един реалистичен пример. Компания с 80 сервизни точки в цяла България желае потребителите да могат да филтрират по град, тип услуга и работно време. В първоначалния етап за всяка сервизна точка се подготвят името, градът, районът, координатите, телефонният номер, категориите услуги и работните часове. На страницата с картата потребителят първо избира град, след което определя типа услуга. Списъкът с резултати се актуализира едновременно, а на картата остават само съответстващите маркери.

На този етап филтрирането на клиентска страна може да бъде достатъчно; тъй като 80 записа не са тежки за браузъра. Но ако информацията за отворени и затворени точки трябва да се изчисли, детайли като времеви зони и официални празници трябва да бъдат взети предвид. Ако най-близкият сервиз трябва да се показва според местоположението на потребителя, се взема разрешение за местоположение и се подреждат по разстояние. В картите с резултати се включват линкове за търсене, получаване на указания и виждане на детайли. Тази структура може да намали ненужните обаждания до обслужващия център и да помогне на потребителите да достигнат до правилния филиал по-бързо.

Поддръжка и измерване: Какво да правим след пускането?

След пускането на интеграцията на картите работата не свършва. Редовно трябва да се проследяват отчетите за използване на Google Cloud, производителността на Search Console, събитията в Analytics и поведението на потребителите. Например, кликванията на бутона за указания, телефонните обаждания, употребата на филтри и преходите към страницата с детайли могат да се измерват като отделни събития. Тези данни показват кои градове се търсят най-много, кои филтри се използват и къде потребителите имат затруднения.

Добра практика е поне веднъж месечно да проверявате данните за местоположението. Затворените филиали, променените телефони, актуализираните работни часове и новите услуги трябва да бъдат отразени бързо на картата. При големи проекти този процес трябва да се извършва през управленската платформа. Освен това, ако разходите за API нарастват неочаквано, трябва да се проверят ненужни заявки, трафик от ботове или неправилни стратегии за зареждане.

Заключение: Бързите карти, които указват на потребителите, носят повече стойност

Създаването на персонализирано филтриране на карти на сайта с Google Maps API, когато е планирано правилно, не е просто техническа интеграция, а стратегическа уеб функция, която укрепва потребителския опит и местните конверсии. За успешен резултат е важно да направите правилен избор на API, да стандартизирате данните, да поддържате простота в логиката на филтриране, да приоритизирате мобилното изживяване, да ограничавате безопасно API ключа и да подготвите четими съдържания за местоположения за SEO.

Ако искате да покажете по-разбираемо местоположението на филиали, дистрибутори, обяви или точки за услуги на вашия уебсайт, първо уточнете структурата на данните и потребителските сценарии. След това разработете интеграцията върху сигурна, бърза и скалируема инфраструктура. Можете да оцените нуждите на вашия уебсайт от хостинг, домейн и SSL, за да създадете здраво основание за картови проекти: Hostragons решения за уеб хостинг.

Често задавани въпроси

Плащат ли се разходите за персонализирано филтриране с Google Maps API?

За използването на Google Maps Platform е необходима фактурна сметка и разходи могат да възникнат след определени нива на употреба. Разходите зависят от типа на използвания API, броя на заявките и настройките на квотите. Трябва да се настроят бюджетни аларми и ограничения на API, за да се осигури контрол.

Достатъчен ли е WordPress за филтриране на карти?

Да, WordPress може да бъде достатъчен за малки и средни проекти. Но когато се изисква специална логика за филтриране, високи числа на местоположения или интензивен трафик, специалната разработка, оптимизирани заявки към бази данни и мощна хостинг инфраструктура дават по-добри резултати.

Как мога да защитя API ключа си?

Ключът, използван в браузъра, не може да бъде напълно скрит; затова трябва да се прилагат ограничения за HTTP реферер, активиране само на необходими API услуги, лимити на квотите и аларми за бюджета. Ключовете на сървърната страна трябва да се съхраняват в променливи на средата.

След колко маркера трябва да се използва кластер?

Общата практика е да се използва кластер за 300 и повече маркера. При 1000 и повече местоположения трябва да се предпочете сървърна или хибридна структура, която връща само резултатите в областта на картата.

Допринася ли филтрирането на карти за SEO?

Не дава гаранция за класиране; но може да увеличи потребителския опит, взаимодействията и местните конверсии. За SEO е важно информацията за местоположенията да е четима в HTML, да има страници с детайли за филиали и да се използват структурирани данни за локално бизнес.

Споделете тази статия:

Екипът на Hostragons

Актуални ръководства от нашия експертен екип за хостинг, сървъри и домейн имена. Нека заедно намерим правилното решение за вашия проект.

Свържете се с нас