2011-10-29 72 views
11

Tôi đang sử dụng ASP.NET MVC 3 và Google Maps v3. Tôi muốn làm mã hóa địa lý trong một hành động. Đó là chuyển địa chỉ hợp lệ cho Google và nhận lại vĩ độ và kinh độ. Tất cả các mẫu trực tuyến về mã hóa địa lý mà tôi đã thấy đã xử lý mã hóa địa lý phía máy khách. Làm thế nào bạn sẽ làm điều này trong một hành động bằng cách sử dụng C#?Google Maps v3 mã hóa địa lý phía máy chủ

Trả lời

16

Tôi không chắc chắn nếu tôi hiểu bạn một cách chính xác nhưng đây là cách tôi làm điều đó (nếu bạn đang quan tâm)

void GoogleGeoCode(string address) 
{ 
    string url = "http://maps.googleapis.com/maps/api/geocode/json?sensor=true&address="; 

    dynamic googleResults = new Uri(url + address).GetDynamicJsonObject(); 
    foreach (var result in googleResults.results) 
    { 
     Console.WriteLine("[" + result.geometry.location.lat + "," + result.geometry.location.lng + "] " + result.formatted_address); 
    } 
} 

bằng cách sử dụng phương pháp khuyến nông here & Json.Net

+0

Rất tốt - cảm ơn bạn đã chia sẻ. Nó hoạt động tốt. Mẫu của bạn đang sử dụng Google Maps v3 phải không? – thd

+0

Không, Nó không phải là javascript api. Tôi đã sử dụng các tài liệu từ http://code.google.com/apis/maps/documentation/geocoding/ ('Định dạng đầu ra JSON') –

+0

Nếu tôi dự định lưu trữ lat và lng vào bảng cơ sở dữ liệu thì điều này vẫn hoạt động? – RyeNyeTheComputerScienceGuy

2

giải pháp LB của làm việc cho tôi. Tuy nhiên, tôi đã gặp phải một số vấn đề liên quan đến thời gian chạy và phải truyền kết quả trước khi tôi có thể sử dụng chúng

Các vấn đề liên quan