Coğrafi Kodlama
AstroAPI, yerleri aramak ve koordinatlarını almak için bir coğrafi kodlama uç noktası sağlar. Bu, hesaplama uç noktalarının gerektirdiği enlem/boylam değerlerine konum adlarını dönüştürmek için kullanışlıdır.
Yer Arama
Adına göre şehir, kasaba ve diğer yerleri arayın:
curl -X GET "https://api.astroapi.cloud/api/geocoding/search?q=Amsterdam" \
-H "X-Api-Key: your-api-key"Sorgu Parametreleri
| Parametre | Zorunlu | Açıklama |
|---|---|---|
q | Evet | Arama sorgusu (2-100 karakter) |
limit | Hayır | Maksimum sonuç sayısı (1-10, varsayılan: 5) |
lang | Hayır | Dil kodu (varsayılan: "en") |
Yanıt
{
"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"
}
]
}Yanıt Alanları
| Alan | Açıklama |
|---|---|
id | Benzersiz tanımlayıcı (OpenStreetMap ID'si) |
name | Birincil yer adı |
displayName | Bölge ve ülke bilgisiyle tam biçimlendirilmiş ad |
latitude | Enlem koordinatı |
longitude | Boylam koordinatı |
country | Ülke adı |
countryCode | ISO 2 harfli ülke kodu |
state | Eyalet/il/bölge adı |
city | Şehir adı (varsa) |
Kod Örnekleri
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;
}
// Kullanım
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"]
# Kullanım
results = search_place("Paris")
place = results[0]
print(f"Paris: {place['latitude']}, {place['longitude']}")Doğum Haritasıyla Kullanım
Coğrafi kodlamayı doğum haritası hesaplamasıyla birleştirin:
// Adım 1: Doğum yeri arama
const places = await searchPlace("New York");
const birthplace = places[0];
// Adım 2: Doğum haritası hesaplama
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"
})
});Dil Desteği
Coğrafi kodlama uç noktası, yer adları için birden fazla dili destekler. lang parametresini kullanın:
# Almanca
curl "https://api.astroapi.cloud/api/geocoding/search?q=Munich&lang=de"
# Fransızca
curl "https://api.astroapi.cloud/api/geocoding/search?q=Munich&lang=fr"Desteklenen dil kodları şunlardır: en, de, fr, es, it, nl, pt, ru, ja, zh ve daha fazlası.
Önbellekleme
Coğrafi kodlama sonuçları, performansı artırmak için 24 saat önbelleklenir. Aynı arama sorgusu, yukarı akış coğrafi kodlama servisine istek yapılmadan önbelleğe alınmış sonuçları döndürür.
Hız Limitleri
Coğrafi kodlama istekleri, API hız limitinize sayılır. Ayrıntılar için Hız Limitleri bölümüne bakın.