2017-04-05 150 views

回答

0

您可以嘗試Places API

的谷歌Places API的網絡服務可讓您查詢的地方信息上的各種類別,如:場所,名勝景點,地理位置, 和更多。您可以通過鄰近或文本字符串搜索地點。地方搜索會返回地點列表以及有關每個地點的摘要信息;通過Place Details查詢可獲得更多信息。

如本文相關SO post所示,Places API響應採用JSON格式。社區建議我們json2csharp輕鬆生成一個C#模型,以響應Google地方信息查詢。然後使用JSON.NET來反序列化查詢結果。

這裏是一個示例代碼查詢:

using (var client = new HttpClient()) 
    { 
     var response = await client.GetStringAsync(string.Format("https://maps.googleapis.com/maps/api/place/nearbysearch/json?location={0},{1}&radius=500&type=bar&key=YourAPIKey", latitude, longitude)); 
     var result = JsonConvert.DeserializeObject<PlacesApiQueryResponse>(response); 
    } 

然後按照有關如何檢查數據庫中搜索地址和其他地址的距離的代碼實現。他們用computeDistanceBetween返回兩個LatLng之間的距離,單位爲米。

var marker_lat_lng = new google.maps.LatLng(location.lat, location.lng); 
          var distance_from_location = google.maps.geometry.spherical.computeDistanceBetween(address_lat_lng, marker_lat_lng); //distance in meters between your location and the marker 
          if (distance_from_location <= radius_km * 1000) { 
           var new_marker = new google.maps.Marker({ 
            position: marker_lat_lng, 
            map: map, 
            title: location.name 
           }); 
+0

謝謝!我會試試這個 –

相關問題