Tất cả bài viết

Chuyển từ Google Maps Geocoding API sang GoGoDuk trong 5 phút

Hướng dẫn chuyển đổi liền mạch từ Google Maps Geocoding API sang GoGoDuk — cùng field, cùng cấu trúc response, miễn phí trọn đời cho Việt Nam.

Nếu bạn đang trả cho Google $5 cho mỗi 1.000 geocoding request và lượng truy cập của bạn tập trung ở Việt Nam, bạn có thể chuyển sang GoGoDuk chỉ trong khoảng năm phút. Hướng dẫn này chỉ cho bạn cách find-and-replace theo đúng nghĩa đen.

1. Lấy key

Đăng ký, xác minh email, và tạo một LIVE key từ dashboard. Hãy copy ngay lần đầu — chúng tôi không lưu giá trị plaintext.

gdk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

2. Đổi endpoint

Trước (Google):

const res = await fetch(
  `https://maps.googleapis.com/maps/api/geocode/json?address=${q}&key=${KEY}`
);
const { results } = await res.json();

Sau (GoGoDuk):

const res = await fetch(
  `https://api.gogoduk.com/v1/suggest?input=${encodeURIComponent(q)}`,
  { headers: { "X-API-Key": KEY } }
);
const data = await res.json();

Key nằm trong header, không phải query string. Cùng một ý tưởng, chỉ khác cách truyền.

3. Map response

Google trả về results[].geometry.location với lat / lng. GoGoDuk trả về items[].point với lat / lon. Một dòng mapper:

const points = data.items.map((it) => ({
  lat: it.point.lat,
  lng: it.point.lon,
  formatted_address: it.address,
  place_id: it.id,
}));

Vậy là xong. Nếu bạn từng dùng place_id để gọi lại Place Details, /v1/place/resolve là endpoint tương đương.

4. Reverse geocoding

Trước:

GET /maps/api/geocode/json?latlng=21.03,105.85&key=...

Sau:

GET /v1/reverse?lat=21.03&lng=105.85

Response: address, ward, district, province là các field string phẳng, không phải mảng address_components lồng sâu 30 cấp. Dễ hiển thị hơn, không cần parsing.

5. Rate limit

Google: hạn ngạch cứng mà bạn phải tự quản lý trong console của họ, cộng thêm giới hạn theo từng giây.

Gói miễn phí của GoGoDuk: 100 request / ngày mỗi tài khoản. Cần nhiều hơn? Gửi email đến [email protected] kèm theo use case của bạn và chúng tôi sẽ nâng giới hạn — vẫn miễn phí, không liên quan đến thanh toán.

Những điểm cần lưu ý

  • Không hỗ trợ phạm vi toàn cầu. Chúng tôi tập trung vào Việt Nam. Nếu bạn cần geocode địa chỉ ở São Paulo, hãy tiếp tục dùng Google.
  • Không có Street View, Places photos, hay Routes API. Đây là một API tập trung vào geocoding / reverse / suggest / boundaries / tìm kiếm POI.
  • Không có SLA ở gói miễn phí. Với các workload quan trọng cho production, hãy email cho chúng tôi để trao đổi về kỳ vọng.

Hãy thử ngay: copy các đoạn snippet, trỏ chúng đến key của bạn, và xem response trông như thế nào với những địa chỉ thực tế của bạn. Nếu thiếu gì, hãy nhắn cho [email protected].

Muốn dùng GoGoDuk?

Miễn phí trọn đời — 100 request/ngày mỗi tài khoản, không cần thẻ tín dụng. Giới hạn cao hơn theo yêu cầu.

Đăng ký →