Geocodering
AstroAPI biedt een geocodering-endpoint om plaatsen te zoeken en hun coordinaten op te halen. Dit is handig om plaatsnamen om te zetten naar breedtegraad/lengtegraad-waarden die vereist zijn voor berekening-endpoints.
Plaatsen zoeken
Zoek naar steden, dorpen en andere plaatsen op naam:
curl -X GET "https://api.astroapi.cloud/api/geocoding/search?q=Amsterdam" \
-H "X-Api-Key: your-api-key"Queryparameters
| Parameter | Verplicht | Beschrijving |
|---|---|---|
q | Ja | Zoekopdracht (2-100 tekens) |
limit | Nee | Maximaal aantal resultaten (1-10, standaard: 5) |
lang | Nee | Taalcode (standaard: "en") |
Response
{
"data": [
{
"id": "node_123456",
"name": "Amsterdam",
"displayName": "Amsterdam, North Holland, Netherlands",
"latitude": 52.3676,
"longitude": 4.9041,
"country": "Netherlands",
"countryCode": "NL",
"state": "North Holland",
"city": "Amsterdam"
}
]
}Responsevelden
| Veld | Beschrijving |
|---|---|
id | Unieke identifier (OpenStreetMap ID) |
name | Primaire plaatsnaam |
displayName | Volledig opgemaakte naam met regio en land |
latitude | Breedtegraad |
longitude | Lengtegraad |
country | Landnaam |
countryCode | ISO 2-letterige landcode |
state | Staat/provincie/regio |
city | Stadsnaam (indien van toepassing) |
Codevoorbeelden
JavaScript
async function searchPlace(query) {
const response = await fetch(
`https://api.astroapi.cloud/api/geocoding/search?q=${encodeURIComponent(query)}`,
{
headers: {
"X-Api-Key": "your-api-key"
}
}
);
const { data } = await response.json();
return data;
}
// Gebruik
const results = await searchPlace("London");
const { latitude, longitude } = results[0];
console.log(`London: ${latitude}, ${longitude}`);Python
import requests
def search_place(query):
response = requests.get(
"https://api.astroapi.cloud/api/geocoding/search",
params={"q": query},
headers={"X-Api-Key": "your-api-key"}
)
return response.json()["data"]
# Gebruik
results = search_place("Paris")
place = results[0]
print(f"Paris: {place['latitude']}, {place['longitude']}")Gebruik met geboortehoroscoop
Combineer geocodering met geboortehoroscoopberekening:
// Stap 1: Zoek naar geboorteplaats
const places = await searchPlace("New York");
const birthplace = places[0];
// Stap 2: Bereken geboortehoroscoop
const response = await fetch("https://api.astroapi.cloud/api/calc/natal", {
method: "POST",
headers: {
"X-Api-Key": "your-api-key",
"Content-Type": "application/json"
},
body: JSON.stringify({
datetime: "1990-06-15T14:30:00",
latitude: birthplace.latitude,
longitude: birthplace.longitude,
timezone: "America/New_York"
})
});Taalondersteuning
Het geocodering-endpoint ondersteunt meerdere talen voor plaatsnamen. Gebruik de lang-parameter:
# Duits
curl "https://api.astroapi.cloud/api/geocoding/search?q=Munich&lang=de"
# Frans
curl "https://api.astroapi.cloud/api/geocoding/search?q=Munich&lang=fr"Ondersteunde taalcodes zijn onder andere: en, de, fr, es, it, nl, pt, ru, ja, zh, en meer.
Caching
Geocoderingsresultaten worden 24 uur gecacht om de prestaties te verbeteren. Dezelfde zoekopdracht retourneert gecachte resultaten zonder de upstream geocoderingsservice aan te roepen.
Snelheidslimieten
Geocoderingsverzoeken tellen mee voor uw API-snelheidslimieten. Zie Snelheidslimieten voor details.