# Google Maps hibakeresése

> Mely térképbővítményeket és témákat blokkolja a Complianz alapból, és mit tegyél, ha a térkép blokkolása vagy hozzájárulás utáni betöltése nem működik.

Ha a varázslóban (**Wizard → Consent → Services**) jelzed, hogy a webhely Google Mapset használ, az a legtöbb esetben elég, hogy a térkép a hozzájárulásig blokkolva legyen. Ha nem, ebből a fejezetből kiderítheted, van-e a használt térképbővítményhez beépített integráció, vagy egyedi szkriptről van szó, amelyhez testreszabás kell.

## Alapból támogatott bővítmények és témák

A Google Maps blokkolása külön beállítás nélkül működik az alábbi témákkal és bővítményekkel:

1. Google Maps Easy
2. WP Go Maps (korábbi nevén WP Google Maps)
3. WP Google Maps Widget
4. Novo Map
5. Flexible Map
6. Avada (Embed API)
7. Divi Google Maps
8. MapPress
9. Meks Easy Maps
10. GeneratePress Google Maps
11. WeLaunch Store Locator
12. WP Store Locator
13. ColibriWP téma
14. Uncode téma
15. WPAdverts (Maps and Locations kiegészítő)

## Külön integrációt igénylő megvalósítások

Egyes Google Maps-integrációkat a Complianz alapból nem szállít, mert további finomhangolást igényelhetnek. Ezek MU-bővítményként valósíthatók meg (lásd [az MU-bővítmények fejezetét](https://hub.hellowp.io/hu/plugins/complianz-gdpr-premium/fejlesztoknek-mu-plugin-es-szurok/)):

1. 10web.io Google Maps
2. Bricks Builder Google Maps
3. Enfold téma Google Maps
4. ChurchThemes Google Maps
5. BeTheme Google Maps
6. Interico téma Google Maps
7. Directory téma Google Maps
8. FacetWP Google Maps
9. PropertyHive Google Maps
10. WoodMart téma Google Maps
11. Flippercode WP Maps Pro

Ezek közül több leírása a [térképintegrációk fejezetben](https://hub.hellowp.io/hu/plugins/complianz-gdpr-premium/blokkolas-helyorzok-terkep-integraciok/) található. Ha a használt megvalósítás egyik listán sincs rajta, egyedi munkára lehet szükség, lásd a [saját térképintegrációról szóló fejezetet](https://hub.hellowp.io/hu/plugins/complianz-gdpr-premium/fejlesztoknek-sajat-terkep-integracio/).

## Hibakeresés

Ha a térkép beillesztése a szkriptközpontban nem működik, az alábbi lépések segítenek megtalálni az okot. Ha a térképet egyedi szkripttel vagy MU-bővítménnyel integrálod a szkriptközpont helyett, a [saját térképintegráció](https://hub.hellowp.io/hu/plugins/complianz-gdpr-premium/fejlesztoknek-sajat-terkep-integracio/) fejezet kódpéldái a mérvadók.

### Gyorsítótár és optimalizálás kikapcsolása

Gyakran látszólag az integráció nem működik, valójában a gyorsítótár vagy a szkriptek összevonása a gond. Először kapcsold ki ezeket, hogy ne kergess kísértetet. Később, esetenként kivételekkel, visszakapcsolhatod őket.

### Minden szkript blokkolva van?

Ha a térkép betöltésekor a böngésző konzoljában hibát látsz, például „google is not defined”, akkor van még egy blokkolatlan JavaScript. A térkép blokkolt kódtól függ, ezért nem működik.

Hogy melyik szkriptet kell blokkolni, azt a konzolban láthatod: nézd meg, melyik sorban lép fel a hiba. Ha beágyazott (inline) szkript (általában ez), másolj ki egy egyedi szövegrészt a `<script>` címkék közül, ahol a hiba van. Ha külön JavaScript-fájl, másold ki a fájl nevét.

![A Script Center a három szkripttípussal](./kepek/hibaelharitas-szkriptkozpont.webp)

*A Script Center a három szkripttípussal* (https://minta-bolt.hu/wp-admin/admin.php?page=complianz)

1. Nyisd meg az **Integrations → Script Center** oldalt.
2. A **Szkript, iframe vagy bővítmény blokkolása** kategóriában kattints az **Új hozzáadása** gombra.
3. Adj könnyen felismerhető nevet, például „Custom Google Maps”.
4. A blokkolandó URL-ek mezőbe másold be a kimásolt szövegrészt. Ha több URL vagy szkript van, a „+” ikonnal veheted fel őket.
5. Hagyd bekapcsolva a helyőrzőt (**Enable placeholder**).
6. A Google Maps ilyenkor általában nem iframe, ezért vedd ki a jelölést a „The blocked content is an iFrame” beállításból.
7. A **div class or ID** mezőbe írd be annak a `<div>` elemnek az osztályát vagy azonosítóját, ahol a helyőrzőnek meg kell jelennie. Ennek a `<div>`-nek kell körbevennie a tényleges Google Maps tartalmat. Böngészőben az elem vizsgálatával találhatod meg (például a `gmp_MapPreview` osztály).
8. Mentsd, és ellenőrizd az eredményt a nyilvános oldalon.

### Függőségek ellenőrzése

Ha még mindig konzolhibát látsz, előfordulhat, hogy az egyik szkript hamarabb töltődik be, mint a másik (versenyhelyzet). Megadhatod, melyik szkript töltődjön be előbb: kattints a **függőség engedélyezése** (enable dependency) lehetőségre. Bekapcsolás után megjelenik a többi blokkolt szkript listája, ebből választhatsz.

Az egyedi szkriptnek gyakran meg kell várnia egy alapszkriptet, például a `maps.googleapis.com` betöltődését. Ilyenkor az előző lépésben vedd fel a `maps.googleapis.com` címet is a blokkolt URL-ek közé, és mentsd. Töltsd újra az oldalt, hogy a legördülő listában minden lehetőség megjelenjen. Ha a `myCustomScript` is blokkolva van, beállíthatod: „myCustomScript waits for maps.googleapis.com”. Ekkor a `myCustomScript` csak a `maps.googleapis.com` betöltése után fut.

Összetettebb példa: a `core.gmap.js` megvárja a `maps.googleapis.com` betöltődését, a `frontend.gmap.js` pedig a `core.gmap.js` betöltődését.

### Nincs konzolhiba, de a térkép mégsem töltődik be

Ha hozzájárulás után sem töltődik be a térkép, és a konzolban sincs JavaScript-hiba:

- **ACF (Advanced Custom Fields):** a Complianznak van ACF-integrációja, amely az ACF által adott Google Maps példakódot blokkolja. Ha más Google Maps-megvalósításod van, próbáld kikapcsolni az ACF-integrációt az **Integrations → Plugins** oldalon.
- **Dokumentum betöltésére induló szkriptek:** egyes egyedi szkriptek (mint az ACF-példa) a `document.ready` vagy `document.load` eseményre indulnak. Ha a látogató hozzájárul, a térképszkript nem fut le, mert ez az esemény már régen megtörtént, mielőtt az **Accept** gombra kattintott. A megoldás, hogy a Complianz újra kiváltja az eseményt. Ehhez egyedi szkript kell, amelyet érdemes MU-bővítménybe tenni. A kód a [saját térképintegráció fejezet 4. lépésében](https://hub.hellowp.io/hu/plugins/complianz-gdpr-premium/fejlesztoknek-sajat-terkep-integracio/) található.
