Skip to content

Mã hóa Địa lý ​

AstroAPI cung cấp một endpoint mã hóa địa lý để tìm kiếm các địa điểm và lấy tọa độ của chúng. Điều này hữu ích để chuyển đổi tên địa điểm thành các giá trị vĩ độ/kinh độ cần thiết cho các endpoint tính toán.

Tìm kiếm Địa điểm ​

Tìm kiếm các thành phố, thị trấn và các địa điểm khác theo tên:

bash
curl -X GET "https://api.astroapi.cloud/api/geocoding/search?q=Amsterdam" \
  -H "X-Api-Key: your-api-key"

Tham số Truy vấn ​

Tham sốBắt buộcMô tả
qCóTruy vấn tìm kiếm (2-100 ký tự)
limitKhôngSố kết quả tối đa (1-10, mặc định: 5)
langKhôngMã ngôn ngữ (mặc định: "en")

Phản hồi ​

json
{
  "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"
    }
  ]
}

Trường Phản hồi ​

TrườngMô tả
idMã định danh duy nhất (ID OpenStreetMap)
nameTên địa điểm chính
displayNameTên đầy đủ được định dạng với khu vực và quốc gia
latitudeTọa độ vĩ độ
longitudeTọa độ kinh độ
countryTên quốc gia
countryCodeMã quốc gia ISO 2 chữ cái
stateTên tiểu bang/tỉnh/vùng
cityTên thành phố (nếu có)

Ví dụ Mã ​

JavaScript ​

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;
}

// Cách sử dụng
const results = await searchPlace("London");
const { latitude, longitude } = results[0];
console.log(`London: ${latitude}, ${longitude}`);

Python ​

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"]

# Cách sử dụng
results = search_place("Paris")
place = results[0]
print(f"Paris: {place['latitude']}, {place['longitude']}")

Sử dụng với Lá số Tử vi ​

Kết hợp mã hóa địa lý với tính toán lá số tử vi:

javascript
// Bước 1: Tìm kiếm nơi sinh
const places = await searchPlace("New York");
const birthplace = places[0];

// Bước 2: Tính toán lá số tử vi
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"
  })
});

Hỗ trợ Ngôn ngữ ​

Endpoint mã hóa địa lý hỗ trợ nhiều ngôn ngữ cho tên địa điểm. Sử dụng tham số lang:

bash
# Tiếng Đức
curl "https://api.astroapi.cloud/api/geocoding/search?q=Munich&lang=de"

# Tiếng Pháp
curl "https://api.astroapi.cloud/api/geocoding/search?q=Munich&lang=fr"

Các mã ngôn ngữ được hỗ trợ bao gồm: en, de, fr, es, it, nl, pt, ru, ja, zh, và nhiều ngôn ngữ khác.

Bộ nhớ đệm ​

Kết quả mã hóa địa lý được lưu trong bộ nhớ đệm trong 24 giờ để cải thiện hiệu suất. Cùng một truy vấn tìm kiếm sẽ trả về kết quả được lưu trong bộ nhớ đệm mà không cần truy cập dịch vụ mã hóa địa lý ngược chiều.

Giới hạn Tốc độ ​

Các yêu cầu mã hóa địa lý được tính vào giới hạn tốc độ API của bạn. Xem Giới hạn Tốc độ để biết chi tiết.

AstroAPI Documentation