Stap voor stap overstappen van Google Maps Geocoding API naar GeoRex. Vergelijk prijzen, privacy, nauwkeurigheid en bekijk code voorbeelden voor een soepele migratie.
Google Maps Geocoding API is jarenlang de standaard geweest voor het omzetten van adressen naar coördinaten. Maar steeds meer Nederlandse developers en bedrijven zoeken een alternatief — vanwege de kosten, privacy-zorgen rond het delen van klantdata met Google, of simpelweg omdat ze een API willen die specifiek is geoptimaliseerd voor Nederlandse adressen. In deze gids laten we je zien hoe je soepel migreert van Google Maps naar GeoRex.

Waarom overstappen?
De redenen om van Google Maps Geocoding over te stappen zijn divers. Hieronder de drie belangrijkste:
1. Kosten: tot 90% goedkoper
Google rekent $5 per 1.000 geocoding requests (na de gratis $200/maand credit). Dat klinkt redelijk, maar bij grotere volumes loopt het snel op. Een applicatie met 100.000 requests per maand kost bij Google al ~$400/maand. Bij GeoRex betaal je vanaf €19/maand voor 10.000 requests, en slechts €99/maand voor 100.000 requests — een besparing van meer dan 75%.
| Google Maps | GeoRex | |
|---|---|---|
| 1.000 requests/maand | Gratis (credit) | Gratis |
| 10.000 requests/maand | ~$40/maand | €19/maand |
| 50.000 requests/maand | ~$200/maand | €49/maand |
| 100.000 requests/maand | ~$400/maand | €99/maand |
| 500.000 requests/maand | ~$2.000/maand | €249/maand |
Gratis uitproberen
GeoRex biedt 1.000 gratis requests per maand — zonder creditcard. Ideaal om de API te testen voordat je migreert. Bekijk onze pricing.
2. Privacy: geen data naar Google
Elke geocoding request naar Google bevat adresgegevens van je gebruikers. Google verwerkt deze data op hun servers, en hoewel ze aangeven dit niet te koppelen aan advertentieprofielen, blijft het een feit: je stuurt klantlocaties naar een van de grootste databedrijven ter wereld. Onder de AVG kan dit problemen opleveren — zeker als je geen verwerkersovereenkomst hebt.
GeoRex werkt fundamenteel anders. We hanteren een zero-retention beleid: na het verwerken van een request wordt de input direct verwijderd. Geen logging van adressen, geen opslag van coördinaten, geen tracking van gebruikers. Alle verwerking gebeurt op eigen servers in Nederland via RexHosting.nl.
3. Nauwkeurigheid: geoptimaliseerd voor Nederland
Google Maps is een wereldwijde service. Dat betekent compromissen: hun geocoder moet werken voor elk land, elk adresformaat, elke taal. GeoRex is exclusief gebouwd voor Nederland en gebruikt de officiële BAG database — dezelfde bron die de overheid gebruikt. Het resultaat: betere herkenning van huisnummertoevoegingen, postcodes, en woonplaatsen dan welke internationale service dan ook.
- Correcte afhandeling van toevoegingen zoals "12-bis", "3-hoog" en "4a"
- Herkenning van alle 9+ miljoen actuele adressen uit de BAG
- Automatische normalisatie van straatnaamafkortingen (Str. → Straat)
- Native support voor PC6 postcodes (1234AB) zonder spatie-issues
![Vergelijking van Google Maps { lat, lng } formaat versus GeoRex [lon, lat] GeoJSON formaat](/_next/image?url=%2Fimages%2Fblog%2Fcontent%2Fgoogle-vs-georex-api-comparison.jpg&w=3840&q=75)
API vergelijking: Google vs GeoRex
Laten we de twee API's naast elkaar leggen. De response-structuur verschilt, maar de kerndata is vergelijkbaar — waardoor migratie relatief eenvoudig is.
Google Maps Geocoding request
// Google Maps Geocoding APIconst response = await fetch(`https://maps.googleapis.com/maps/api/geocode/json?` +`address=Damrak+1+Amsterdam&key=${GOOGLE_API_KEY}`);const data = await response.json();const location = data.results[0].geometry.location;console.log(location.lat, location.lng);// 52.3760, 4.8964
GeoRex equivalent
// GeoRex Geocoding APIconst response = await fetch(`https://api.georex.nl/v1/autocomplete?` +`q=Damrak+1+Amsterdam`,{headers: {'Authorization': `Bearer ${GEOREX_API_KEY}`}});const data = await response.json();const [lon, lat] = data.features[0].geometry.coordinates;console.log(lat, lon);// 52.3760, 4.8964
GeoJSON standaard
GeoRex retourneert data in GeoJSON formaat (RFC 7946). Dit is een open standaard die direct werkt met Leaflet, MapboxGL, Turf.js en andere geo-bibliotheken. Google gebruikt een eigen formaat.
Stap-voor-stap migratie
Stap 1: GeoRex API key aanmaken
Registreer gratis op georex.nl en maak een API key aan in je dashboard. Je krijgt direct toegang tot 1.000 requests per maand.
Stap 2: Wrapper functie aanpassen
De meeste projecten hebben een geocoding helper functie die de API aanroept. Je hoeft alleen deze wrapper aan te passen — de rest van je code blijft ongewijzigd.
// VOOR: Google Maps wrapperasync function geocode(address: string) {const res = await fetch(`https://maps.googleapis.com/maps/api/geocode/json?` +`address=${encodeURIComponent(address)}&key=${process.env.GOOGLE_API_KEY}`);const data = await res.json();if (!data.results.length) return null;const { lat, lng } = data.results[0].geometry.location;return { lat, lon: lng };}// NA: GeoRex wrapperasync function geocode(address: string) {const res = await fetch(`https://api.georex.nl/v1/autocomplete?` +`q=${encodeURIComponent(address)}`,{headers: {'Authorization': `Bearer ${process.env.GEOREX_API_KEY}`}});const data = await res.json();if (!data.features.length) return null;const [lon, lat] = data.features[0].geometry.coordinates;return { lat, lon };}
Let op: coordinaten volgorde
Google retourneert { lat, lng } terwijl GeoRex (GeoJSON) de volgorde [longitude, latitude] gebruikt. Dit is de meest voorkomende fout bij migratie. Zorg dat je de destructuring correct aanpast.
Stap 3: Response mapping
Als je meer dan alleen coördinaten gebruikt (straat, stad, postcode), moet je de response mapping aanpassen. Hier is een complete mapping:
| Google Maps veld | GeoRex veld | Voorbeeld |
|---|---|---|
| results[0].geometry.location.lat | features[0].geometry.coordinates[1] | 52.3760 |
| results[0].geometry.location.lng | features[0].geometry.coordinates[0] | 4.8964 |
| address_components[type=route] | features[0].properties.street | Damrak |
| address_components[type=street_number] | features[0].properties.housenumber | 1 |
| address_components[type=postal_code] | features[0].properties.postcode | 1012LG |
| address_components[type=locality] | features[0].properties.city | Amsterdam |
| address_components[type=province] | features[0].properties.state | Noord-Holland |
Het GeoRex response-formaat is platter en eenvoudiger dan Google's geneste address_components array. Je hoeft niet meer door een array te zoeken naar het juiste component type — de velden staan direct op het properties object.
Stap 4: Authenticatie omzetten
Google gebruikt een API key als query parameter (?key=...). GeoRex gebruikt een Bearer token in de Authorization header. Dit is veiliger omdat de key niet in URL logs of browser history verschijnt.
// Google: key in URL (zichtbaar in logs)fetch(`https://maps.googleapis.com/maps/api/geocode/json?key=${API_KEY}&...`)// GeoRex: Bearer token in header (niet zichtbaar in URL logs)fetch(`https://api.georex.nl/v1/autocomplete?q=...`, {headers: { 'Authorization': `Bearer ${API_KEY}` }})
Stap 5: Testen en valideren
Voordat je de migratie naar productie brengt, test je met een set representatieve adressen. Vergelijk de resultaten van beide API's:
// Migratie validatie scriptconst testAddresses = ["Damrak 1, Amsterdam","Coolsingel 40, Rotterdam","Lange Voorhout 8, Den Haag","Domplein 1, Utrecht","Grote Markt 1, Groningen","1234AB 5", // Postcode + huisnummer"Keizersgracht 672a", // Met toevoeging];for (const address of testAddresses) {const result = await geocode(address);console.log(`${address} → ${result?.lat}, ${result?.lon}`);}
Gratis tier voor testing
Gebruik de gratis GeoRex tier (1.000 requests/maand) om je migratie te testen. Pas als je tevreden bent met de resultaten, schakel je productieverkeer over.
Framework-specifieke migratie
React / Next.js
Als je @react-google-maps/api of een vergelijkbare library gebruikt voor autocomplete, kun je GeoRex als vervanging gebruiken met een custom hook:
import { useState, useCallback } from "react";import debounce from "lodash.debounce";export function useGeoRexAutocomplete() {const [suggestions, setSuggestions] = useState([]);const [loading, setLoading] = useState(false);const search = useCallback(debounce(async (query: string) => {if (query.length < 2) {setSuggestions([]);return;}setLoading(true);try {const res = await fetch(`https://api.georex.nl/v1/autocomplete?q=${encodeURIComponent(query)}`,{headers: {"Authorization": `Bearer ${process.env.NEXT_PUBLIC_GEOREX_API_KEY}`}});const data = await res.json();setSuggestions(data.features || []);} finally {setLoading(false);}}, 300),[]);return { suggestions, loading, search };}
PHP / Laravel
<?php// VOOR: Google Maps in Laraveluse Geocoder; // spatie/geocoder package$result = app('geocoder')->geocode('Damrak 1, Amsterdam')->get();// NA: GeoRex in Laravel$response = Http::withToken(config('services.georex.key'))->get('https://api.georex.nl/v1/autocomplete', ['q' => 'Damrak 1, Amsterdam',]);$feature = $response->json('features.0');$lat = $feature['geometry']['coordinates'][1];$lon = $feature['geometry']['coordinates'][0];$city = $feature['properties']['city'];
Python
# VOOR: Google Mapsfrom googlemaps import Clientgmaps = Client(key="GOOGLE_API_KEY")result = gmaps.geocode("Damrak 1, Amsterdam")# NA: GeoReximport requestsdef geocode(address: str) -> dict | None:response = requests.get("https://api.georex.nl/v1/autocomplete",params={"q": address},headers={"Authorization": f"Bearer {GEOREX_API_KEY}"})features = response.json().get("features", [])if not features:return Nonecoords = features[0]["geometry"]["coordinates"]props = features[0]["properties"]return {"lat": coords[1],"lon": coords[0],"street": props.get("street"),"housenumber": props.get("housenumber"),"postcode": props.get("postcode"),"city": props.get("city"),}
Veelgemaakte fouten bij migratie
- Coordinaten volgorde verwisseld — GeoJSON gebruikt [lon, lat], Google gebruikt {lat, lng}. Dit is veruit de meest voorkomende fout.
- API key in URL — GeoRex verwacht een Bearer token in de header, niet als query parameter. Requests zonder header geven een 401.
- Verwachten van formatted_address — GeoRex heeft geen enkel "formatted address" veld. Bouw het zelf op uit properties:
${street} ${housenumber}, ${postcode} ${city}. - Geen error handling voor lege resultaten — Controleer altijd of features.length > 0 voordat je het eerste resultaat gebruikt.
- Rate limiting niet aangepast — GeoRex rate limits verschillen per plan. Controleer je dashboard voor actuele limieten.
Feature vergelijking
| Feature | Google Maps | GeoRex |
|---|---|---|
| Nederlandse adressen | Goed | Uitstekend (BAG data) |
| Huisnummer toevoegingen | Matig | Volledig (bis, boven, a-z) |
| Privacy / Zero retention | Nee | Ja |
| Data opslag locatie | VS/Globaal | Nederland |
| Response formaat | Eigen formaat | GeoJSON (open standaard) |
| Authenticatie | URL parameter | Bearer token (veiliger) |
| Gratis tier | $200 credit/maand | 1.000 requests/maand |
| AVG-compliant by design | Nee (DPA nodig) | Ja |
| Wereldwijde dekking | Ja | Alleen Nederland |
| Autocomplete | Ja (Places API) | Ja (ingebouwd) |
Alleen Nederland nodig?
Als je applicatie uitsluitend Nederlandse adressen verwerkt, biedt GeoRex betere resultaten dan een wereldwijde service. Heb je ook internationale adressen nodig? Dan kun je GeoRex voor Nederland gebruiken en een andere service voor de rest — dat is nog steeds goedkoper dan Google voor alles.
Migratie checklist
- GeoRex account aangemaakt en API key gegenereerd
- Geocoding wrapper functie aangepast naar GeoRex endpoint
- Coordinaten volgorde gecontroleerd: [lon, lat] → { lat, lon }
- Authenticatie omgezet van URL parameter naar Bearer header
- Response mapping aangepast (address_components → properties)
- Test suite uitgevoerd met representatieve adressen
- Error handling getest (lege resultaten, rate limits, netwerk fouten)
- Monitoring opgezet voor response tijden en foutpercentages
- Google Maps API key gedeactiveerd na succesvolle migratie
Conclusie
Migreren van Google Maps Geocoding naar GeoRex is een relatief eenvoudig proces — de grootste aanpassing is de response structuur en de coordinaten volgorde. Wat je er voor terugkrijgt is aanzienlijk: lagere kosten, betere privacy, nauwkeurigere resultaten voor Nederlandse adressen, en een API die gebouwd is met de AVG in gedachten.
De meeste developers hebben de migratie binnen een middag afgerond. Begin met de gratis tier, test je belangrijkste use cases, en schakel geleidelijk over. Je klanten en je budget zullen je dankbaar zijn.
Hulp nodig bij de migratie?
Heb je vragen over de migratie of loop je ergens tegenaan? Neem contact met ons op — we helpen je graag. Voor enterprise migraties bieden we ook begeleide onboarding aan.
Gerelateerde artikelen

Je eerste geocoding API call in 5 minuten
Leer hoe je in slechts 5 minuten je eerste geocoding API call maakt met GeoRex. Complete voorbeelden in JavaScript, Python, PHP en cURL.
Lees meer
Geocoding vs Reverse Geocoding: Wat is het verschil?
Ontdek het verschil tussen geocoding en reverse geocoding, wanneer je welke methode gebruikt, en hoe je beide implementeert met praktische voorbeelden.
Lees meer
GeoRex API authenticatie en best practices
Leer hoe je veilig authenticeert met de GeoRex API, je API keys beheert, en best practices implementeert voor productie-omgevingen.
Lees meer