API і інтэграцыі

Як стварыць на сайце спецыяльную фільтрацыю карты з Google Maps API

  • 12 хв чытання
  • Каманда Hostragons
Як стварыць на сайце спецыяльную фільтрацыю карты з Google Maps API

Стварэнне спецыяльнай фільтрацыі карты праз Google Maps API — гэта інтэграцыя, якая дазваляе наведвальнікам вашага сайта шукаць магазіны, філіялы, падзеі, аб’екты нерухомасці, рэстараны ці сэрвісныя пункты па катэгорыях, гарадах, дыстанцыі, рэйтынгу, працоўных гадзінах і геаграфічным месцы. Для гэтага звычайна атрымліваецца ключ API праз Google Cloud, актывуецца Maps JavaScript API, падрыхтоўваюцца структурныя дадзеныя пра месцы, вызначаецца логіка маркераў і кластараў, а фільтрацыя рэалізуецца на кліенцкім ці серверным баку. Калі інтэграцыя зроблена правільна, наведвальнік хутка знаходзіць патрэбны аб’ект, час на сайце павялічваецца, а канверсія для мясцовых пошукавых запытаў істотна расце.

У гэтым гайдзе мы разглядзім тэхнічныя паняцці не толькі ў тэорыі, але і на практыцы — як рэалізаваць фільтрацыю карты на рэальным сайце. Напрыклад, для 35 філіялаў кур’ерскай кампаніі, 240 аб’ектаў нерухомасці ці 12 клінік выкарыстоўваецца адзін прынцып, але адміністраванне даных, прадукцыйнасць і бяспека маюць свае асаблівасці. У артыкуле для Hostragons блога мы разбяром, як арганізаваць хуткую, бяспечную, мабільна-адаптаваную і стабільную структуру фільтрацыі карты, улічваючы сучасныя SEO-тэндэнцыі і чаканні карыстальнікаў. Калі ваш сайт яшчэ не гатовы тэхнічна, выбар надзейнага хостынгу — аснова для хуткай працы карты: 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 — для бяспечнай і кантраляванай працы ключа.

Планаванне: прадумайце логіку фільтрацыі перш чым пісаць код

Самы важны этап — прадуманая структура да пачатку распрацоўкі. Вызначце, якія дадзеныя будуць фільтравацца, у якой паслядоўнасці карыстальнік выбірае параметры і што дакладна абнаўляецца ў выніку. Для сайта клінік фільтры могуць быць: горад, спецыялізацыя, лекар, адкрытыя сустрэчы, даступнасць для маламабільных. Для нерухомасці — раён, цана, колькасць пакояў, тып аб’екта, адлегласць. Для рэстаранаў — паслуга takeaway, паркоўка, гадзіны працы, тып кухні.

Пачніце з простага: 4-6 фільтраў дастаткова для большасці праектаў. Занадта шмат фільтраў (10+) заблытвае карыстальніка і перашкаджае на мабільных экранах. Фільтр павінен адпавядаць палям у базе даных. Калі ў катэгорыі напісана cafe, кафэ, coffee shop — вынік будзе некарэктны. Таму стандартызацыя даных — аснова якаснай фільтрацыі.

Прыклад мадэлі даных

Для старонкі пошуку філіялаў мінімальна патрэбныя: унікальны ID, назва бізнесу, шырыня і даўжыня, горад, раён, катэгорыя, тэлефон, адрас, гадзіны працы, статус актыўнасці, спасылка на дэталёвую старонку. Можна дадаць рэйтынг, статус тавараў, тыпы паслуг, акцыі, фатаграфіі, дату абнаўлення. Да 100 пунктаў — JSON-файл падыдзе; для большых праектаў лепш база даных і API endpoint.

Параўнанне: кліенцкая і серверная фільтрацыя

Фільтрацыя карты базуецца на двух падыходах. Пры кліенцкай фільтрацыі ўсе дадзеныя загружаюцца на старонку, а выбар апрацоўваецца ў браўзеры. Пры сервернай — кожны фільтр адпраўляе запыт на сервер, і вяртаюцца толькі адпаведныя вынікі. Выбар залежыць ад аб’ёму даных, трафіку і патрабаванняў бяспекі.

Параўнанне: кліенцкая і серверная фільтрацыя
ПадыходКалі выкарыстоўваць?ПлюсыАсцярогі
Кліенцкая фільтрацыя10–300 месцаў, простыя фільтрыІмгненная рэакцыя, зніжэнне нагрузкі на серверУсе дадзеныя даступны карыстальніку; без канфідэнцыйных палёў
Серверная фільтрацыя300+ месцаў, вялікі трафік, складаныя запытыЛепшая маштабуемасць і кантрольПатэнцыйна больш павольна, патрабуе аптымізацыі
Гібрыдная фільтрацыяСярэднія і вялікія праектыБазавыя дадзеныя на старце, падрабязнасці — праз серверПатрэбны дакладны план і тэставанне

Практычна: для 50 філіялаў — кліенцкая фільтрацыя. Для 500 аб’ектаў — серверная. Для 5 000 месцаў — гібрыдны падыход з кластарамі і падгрузкай толькі вынікаў у межах карты.

Пакрокавая інструкцыя па наладзе спецыяльнай фільтрацыі карты з Google Maps API

1. Стварыце праект у Google Cloud і ключ API

Пачніце з Google Cloud Console: стварыце праект, назва якога адпавядае вашаму сайту. Актывуйце патрэбныя API, у першую чаргу Maps JavaScript API. Пасля генерацыі ключа абавязкова дадайце абмежаванне па HTTP referrer — ключ павінен працаваць толькі на вашым дамене (напрыклад, domen.by і www.domen.by). Без гэтага ключ можа быць выкарыстаны іншымі і прынесці непажаданыя выдаткі.

Для працы з Google Maps Platform патрэбен billing-рахунак. Гэта не значыць, што кожны праект будзе дарагім; але трэба кантраляваць ліміты і выкарыстанне. Усталюйце ліміты запытаў, e-mail-апавяшчэнні і budget-алярмы. Калі рыхтуеце дамен для новага праекта — надзейная рэгістрацыя і DNS-менеджмент таксама важны: Hostragons паслугі рэгістрацыі дамена.

2. Падрыхтуйце якасную інфраструктуру для старонкі карты

Карты — гэта візуальна і тэхнічна складаныя старонкі. Колькасць маркераў, бібліятэка карты, фота і API-запыты ўплываюць на хуткасць. Ваш хостынг павінен падтрымліваць абноўлены PHP, Node.js або іншы framework. Для WordPress — праверце нагрузку ад тэмы і плагінаў. Для кастомных сайтаў — падумайце пра кэшаванне API endpoint’аў.

HTTPS — абавязкова. Усе дадзеныя пра месцазнаходжанне, формы і API-запыты павінны перадавацца праз бяспечнае злучэнне. Сайты без SSL выклікаюць папярэджанні ў браўзеры і не заўсёды карэктна працуюць з геалакацыяй. Выберыце і ўсталюйце сертыфікат: Hostragons SSL сертыфікаты.

3. Стандартызуйце дадзеныя пра месцазнаходжанне

Якасць фільтрацыі залежыць ад дакладнасці даных. Для кожнага пункта каардынаты павінны быць дакладнымі — не толькі адрас. У гарадах з паўтаральнымі вуліцамі і раёнамі праверце каардынаты ўручную. Нават 3–5 памылак у 100 запісах сур’ёзна падрываюць давер карыстальнікаў.

Стандартызуйце назвы катэгорый, гарадоў і раёнаў, тэлефоны пішыце ў міжнародным фармаце, не паказвайце неактыўныя месцы. Фіксуйце дату апошняга абнаўлення — калі гадзіны працы змяніліся 8 месяцаў таму, карта ў тэхнічным плане працуе, але досвед карыстальніка будзе дрэнным.

4. Сінхранізуйце маркеры, info window і спіс вынікаў

Пры выбары маркера на карце павінна адкрывацца кароткая інфармацыя: назва, адрас, тэлефон, статус, спасылка на маршрут і кнопка да дэталёвай старонкі. Па баках або пад картай паказвайце спіс вынікаў — каб карыстальнік мог параўнаць і візуальна, і тэкстава. На мабільных зручней паказваць спіс пад картай.

Калі маркераў шмат — выкарыстоўвайце кластар: групуйце блізкія пункты ў адзін значок, каб карта была чысцейшай і хутчэйшай. Для праектаў з 300+ маркерамі кластар — абавязкова. Для 1 000+ — падгружайце дадзеныя толькі ў межах бачнасці карты.

5. Дакладна і зразумела апісвайце фільтры

Фільтры павінны быць зразумелымі для карыстальніка. Ці можна выбіраць некалькі катэгорый? Дыстанцыя — адносна бягучага месцазнаходжання ці гарадскога цэнтра? Фільтр па адкрытых пунктах — па рэальных гадзінах працы ці па статусе? Ад гэтых рашэнняў залежыць і код, і чаканні наведвальнікаў.

Для фільтра дыстанцыі выкарыстоўвайце формулу Хаверсайна або Google Distance Matrix API. Калі дастаткова «прамая дыстанцыя» — Хаверсайн хутчэй і танней. Калі патрэбны разлік часу ў дарозе — Distance Matrix API. Напрыклад, для пошуку бліжэйшых дзяжурных сэрвісаў важны час у дарозе, а для магазінаў — простая дыстанцыя.

6. Прыярытэт — мабільны досвед

Большасць мясцовых пошукаў — з мабільных прылад. Таму памер карты, панэль фільтраў, вобласці для націску і спіс вынікаў павінны быць адаптаваны для смартфонаў. Фільтры лепш паказваць у выпадаючых або табавых панелях. Кнопкі «Маршрут», «Патэлефанаваць» ці «WhatsApp» павінны быць даступныя ў адзін клік.

Часта дапускаюць памылку — карта займае ўсю старонку, фільтры непрыкметныя. Спачатку фільтрацыя, потым вынікі. Размяшчайце карту, фільтры і спіс вынікаў збалансавана. Калі карыстальнік не дазваляе доступ да месцазнаходжання — прапануйце выбар горада або раёна.

Аптымізацыя прадукцыйнасці: хуткасць, ліміты і карыстальніцкі досвед

Пры інтэграцыі Google Maps API прадукцыйнасць — гэта не толькі хуткасць загрузкі, але і ліміты API, памер даных і рэакцыя на дзеянні карыстальніка. Грузіце бібліятэку карты толькі там, дзе яна патрэбна. Калі карта толькі на асобнай старонцы — не падгружайце скрыпт на ўсім сайце. Дадзеныя пра месцы падавайце ў сціснутым JSON, кэшуйце статычныя запісы. Гэта зніжае нагрузку і час загрузкі.

Вялікія фота ў info window — праблема для прадукцыйнасці. Выкарыстоўвайце WebP і разумныя памеры. Калі кожны маркер з фота па 400 KB, а іх 50 — гэта істотная нагрузка. Для праектаў з вялікім трафікам выбірайце маштабуемы хостынг: Hostragons рашэнні для карпаратыўнага хостынгу.

  • Грузіце API карты толькі там, дзе патрэбна.
  • Для 300+ маркераў — кластарная структура.
  • Сціскайце дадзеныя (gzip, brotli).
  • Для сервернай фільтрацыі — індэксаваныя запыты ў базе даных.
  • Ставіце алярмы бюджэту для Google Cloud.
  • На мабільных — фільтры павінны быць лёгка даступныя.

Бяспека: абараняйце ключ API і асабістыя дадзеныя

Ключ API — не сакрэтны пароль, бо яго можна ўбачыць у браўзеры. Бяспека — гэта правільныя абмежаванні: HTTP referrer, толькі патрэбныя API, ліміты і алярмы. Для серверных API ключ захоўвайце ў асяроддзевых зменных, не давайце кліенту.

Дадзеныя пра месцазнаходжанне — канфідэнцыйныя. Тлумачце, навошта просіце доступ. Не захоўвайце месцазнаходжанне без патрэбы. Калі трэба — прадугледзьце згоду, палітыку прыватнасці і тэрміны захоўвання (GDPR, ЗППД). Для надзейнай працы — SSL, рэгулярныя бэкапы і абноўлены софт: Выкарыстанне SSL для бяспекі сайта.

Як правільна арганізаваць старонкі фільтрацыі карты для SEO

Фільтрацыя карты паляпшае досвед, але для SEO гэтага недастаткова. Google-боты не заўсёды разумеюць info window на JavaScript. Таму для важных месцаў дадавайце тэкставы HTML — назва, адрас, тэлефон, гадзіны працы, паслугі. Не абмяжоўвайцеся толькі маркерамі на карце.

Для мясцовага SEO — асобная старонка для кожнага філіяла: унікальны URL, апісанне, адрас, маршрут, кантакты. Дадайце structured data (LocalBusiness, Organization). Старонка фільтрацыі — для агульнага пошуку, дэталёвыя — даюць кантэкст для пошукавых сістэм. Для сеткавых бізнесаў гэта павялічвае вынікі ў арганічнай выдачы.

SEO-чэкліст

  • Выкарыстоўвайце выразныя H1, H2 і тэкставы кантэнт на старонцы карты.
  • Не пакідайце важныя дадзеныя толькі ў маркерах.
  • Стварайце дэталёвыя старонкі для кожнага пункта.
  • Чыстая і лагічная структура URL.
  • Тэстуйце хуткасць па Core Web Vitals.
  • Выкарыстоўвайце structured data для мясцовага бізнесу.
  • Дадайце старонку карты ў XML sitemap сайта.

Памылкі і прафесійныя рашэнні

Галоўная памылка — хуткая ўстаноўка плагіна без увагі да якасці даных. Плагіны падыходзяць для малых праектаў; але пры патрэбе ў складаных фільтрах, шматкатэгорыях, разліку дыстанцыі і прадукцыйнасці — іх магчымасці абмежаваныя. Другая памылка — ключ API без абмежаванняў. Трэцяя — не тэставаць хуткасць, загружаць занадта шмат маркераў, фота і скрыптаў.

Прафесійнае рашэнне — выбіраць архітэктуру па маштабе праекта. Для 20 пунктаў — просты JSON і хуткая старонка. Для 2 000 — індэксы, серверная фільтрацыя, кэш, запыты па межах карты. Для WordPress — custom post type і user fields. Для кастомных сайтаў — REST API ці GraphQL endpoint’ы.

Прыклад: сетка з 80 сэрвісных пунктаў

Уявім фірму з 80 пунктамі па ўсёй Беларусі, якая хоча фільтрацыю па горадзе, тыпе паслуг і статусе працы. Для кожнага пункта рыхтуем назву, горад, раён, каардынаты, тэлефон, катэгорыі паслуг, гадзіны працы. На старонцы карыстальнік выбірае горад, потым тып паслуг. Спіс вынікаў і маркеры абнаўляюцца.

Для такой колькасці — кліенцкая фільтрацыя падыходзіць, бо 80 запісаў — не нагрузка для браўзера. Калі трэба паказваць статус працы па гадзінах — улічвайце часавыя зоны, святочныя дні. Для пошуку бліжэйшага пункта — спатрэбіцца доступ да месцазнаходжання і разлік дыстанцыі. У картках вынікаў — кнопкі «Патэлефанаваць», «Маршрут», «Дэталі». Такая структура зніжае колькасць памылковых званкоў і дапамагае карыстальніку хутка знайсці патрэбны сэрвіс.

Абслугоўванне і метрыкі: што рабіць пасля запуску?

Пасля запуску інтэграцыі карта — гэта толькі пачатак. Кантралюйце справаздачы Google Cloud, Search Console, Analytics і паводзіны карыстальнікаў. Фіксуйце клікі па «Маршрут», «Тэлефон», фільтры і пераходы на дэталёвыя старонкі. Гэта паказвае, якія гарады і фільтры найбольш папулярныя і дзе наведвальнікі сутыкаюцца з праблемамі.

Правярайце дадзеныя мінімум раз на месяц: закрытыя пункты, змены тэлефонаў, новыя паслугі, абнаўленне гадзін працы. Для вялікіх праектаў — кіруйце праз адміністраванне. Калі выдаткі на API растуць — аналізуйце непатрэбныя запыты, ботаў і памылкі ў загрузцы.

Вынік: карта, якая паказвае хуткі шлях, — сапраўдная каштоўнасць

Спецыяльная фільтрацыя карты праз Google Maps API — гэта не проста тэхнічная інтэграцыя, а стратэгічны інструмент для паляпшэння карыстальніцкага досведу і росту мясцовых канверсій. Для поспеху: выбірайце патрэбныя API, стандартызуйце дадзеныя, трымайце логіку фільтрацыі простай, адаптуйце для мабільных, абараняйце API-ключ, рыхтуйце чытаемы кантэнт для SEO.

Калі вы хочаце, каб філіялы, аб’явы ці сэрвісныя пункты вашага сайта былі зручна і наглядна паказаны — спачатку прадумайце структуру даных і карыстальніцкія сцэнарыі. Затым распрацуйце інтэграцыю на бяспечнай, хуткай і маштабуемай платформе. Hostragons дапаможа з хостынгам, даменам і SSL для надзейнай асновы вашага праекта: Hostragons рашэнні для веб-хостынгу.

Частыя пытанні (FAQ)

Ці платная спецыяльная фільтрацыя карты з Google Maps API?

Выкарыстанне Google Maps Platform патрабуе billing-рахунку і аплаты пасля дасягнення пэўных лімітаў. Кошт залежыць ад API, колькасці запытаў і наладжанага ліміта. Для кантролю — усталюйце алярмы і абмежаванні ключа.

Ці дастаткова WordPress для фільтрацыі карты?

Для невялікіх і сярэдніх праектаў WordPress падыходзіць. Калі патрэбны складаныя фільтры, шмат месцаў ці вялікі трафік — кастомная распрацоўка, аптымізаваныя запыты і магутны хостынг дадуць лепшы вынік.

Як бяспечна захоўваць ключ API?

Ключ, які выкарыстоўваецца ў браўзеры, немагчыма цалкам схаваць. Таму абавязкова: HTTP referrer-абмежаванні, толькі патрэбныя API, ліміты, алярмы. Для серверных API — захоўвайце ключ у асяроддзевых зменных.

Пры якой колькасці маркераў варта выкарыстоўваць кластар?

Агульная практыка: калі маркераў больш за 300 — абавязкова кластар. Для 1 000+ — толькі вынікі ў межах карты праз сервер або гібрыдны падыход.

Ці дапамагае фільтрацыя карты SEO?

Гарантыі росту пазіцый няма; але паляпшае досвед, узаемадзеянне і мясцовыя канверсіі. Для SEO важна: дадзеныя ў HTML, старонкі філіялаў, structured data і чытаемы кантэнт.

Падзяліцеся гэтым артыкулам:

Каманда Hostragons

Актуальныя кіраўніцтва ад нашай каманды экспертаў па хостынгу, серверах і даменных імёнах. Давайце разам знойдзем правільнае рашэнне для вашага праекта.

Звяжыцеся з намі