API Google Maps - Nhận tọa độ địa chỉ


150

Tôi muốn chuyển đổi địa chỉ thành dài / lat.

Có cách nào để làm điều này mà không cần sử dụng JavaScript không? Bởi vì trong trường hợp của tôi, không cần hiển thị bất cứ điều gì vì chuyển đổi ở chế độ nền.

Câu trả lời:


273

Những gì bạn đang tìm kiếm được gọi là Geocoding .

Google cung cấp Dịch vụ web mã hóa địa lý sẽ thực hiện những gì bạn đang tìm kiếm. Bạn sẽ có thể thực hiện mã hóa địa lý trên máy chủ của mình.

Ví dụ JSON:

http://maps.google.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Menez+View,+CA

Ví dụ XML:

http://maps.google.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Max+View,+CA


Biên tập:

Xin lưu ý rằng đây hiện là một phương pháp không dùng nữa và bạn phải cung cấp khóa Google API của riêng mình để truy cập dữ liệu này.


@ n00b: Ban đầu tôi đọc sai câu hỏi của bạn. Bạn đang tìm kiếm Mã hóa địa lý, không phải Mã hóa ngược. Tuy nhiên, bạn vẫn có thể làm điều đó với API dịch vụ web của Google.
Daniel Vassallo

1
Liên kết cho biết sensortham số không còn cần thiết.
osa

ok công việc của nó nhưng bây giờ tôi chỉ muốn tìm kiếm địa chỉ cho quốc gia Hoa Kỳ nhưng nó cung cấp cho tôi trên toàn thế giới dữ liệu tìm kiếm trở lại, bạn có thể cho tôi một giải pháp cho quốc gia cụ thể không
Paresh Hirpara

@PareshHirpara Bạn không cần phải chèn United+Statesbên trong tham số địa chỉ? ;-)
Vui lòng_Dont_Bully_Me_SO_Lords

11

Althugh bạn yêu cầu Google Maps API, tôi đề nghị một mã nguồn mở, làm việc, quy phạm pháp luật, miễn phícộng đồng đóng góp API bằng bản đồ đường phố mở

https://nominatim.openstreetmap.org/search?q=M ERIC & format = json

Đây là tài liệu API để tham khảo.

Chỉnh sửa: Có vẻ như thỉnh thoảng có sự khác biệt, ít nhất là về mã bưu chính, khi so sánh với API Google Maps và sau này có vẻ chính xác hơn. Đây là trường hợp khi xác thực địa chỉ ở Canada với dịch vụ tìm kiếm Canada Post, tuy nhiên, điều đó cũng có thể đúng với các quốc gia khác.


Trước hết - cảm ơn bạn cũng đã gợi ý tùy chọn này. :) Trong trường hợp của tôi, tôi đang tìm mã bưu chính của một địa chỉ dựa trên số đường phố, tên đường phố, thành phố và tỉnh (ở Canada). Tuy nhiên, hóa ra có sự khác biệt về những gì API Google Maps và API bản đồ đường phố trả về. Ví dụ: đối với địa chỉ 20 Toronto Street, Toronto, ON, họ đã trả lại các mã bưu chính khác nhau và mã được trả về bởi API Google Maps giống như mã tìm kiếm trên trang web của Canada Post. Tôi cũng đã thử nghiệm nó với hai địa chỉ khác và có sự khác biệt một lần nữa.
Nikolay D

@NikolayD Có vẻ như có lỗi trong dữ liệu có nguồn gốc đám đông. Đi với Google Maps rồi! Vui lòng đề xuất đầu vào của bạn dưới dạng chỉnh sửa câu trả lời của tôi
Zameer

1
@Dantalian Định nghĩa về số địa chỉ là gì?
Zameer

Xin lỗi, ý tôi là số đường phố
Dantalian


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.