Regarding google places API
本文关键字:API places google Regarding | 更新日期: 2023-09-27 18:17:18
我想知道的是,使用谷歌的地方API。我想创建一个类似www.zomato.com
的网站1)我可以像Google+商业页面一样显示我所在城市的所有餐馆和他们的个人详细信息吗?
2)是否可以在c# .net中使用这个API ?
3) Google将为此收取多少费用?
如果我们查看Google Places API的文档,我们可以看到对API的请求返回的JSON格式。通过使用json2sharp,我们可以很容易地为Google Places查询的响应生成一个c#模型。
public class Location
{
public double lat { get; set; }
public double lng { get; set; }
}
public class Geometry
{
public Location location { get; set; }
}
public class OpeningHours
{
public bool open_now { get; set; }
public List<object> weekday_text { get; set; }
}
public class Photo
{
public int height { get; set; }
public List<string> html_attributions { get; set; }
public string photo_reference { get; set; }
public int width { get; set; }
}
public class Result
{
public Geometry geometry { get; set; }
public string icon { get; set; }
public string id { get; set; }
public string name { get; set; }
public OpeningHours opening_hours { get; set; }
public List<Photo> photos { get; set; }
public string place_id { get; set; }
public double rating { get; set; }
public string reference { get; set; }
public string scope { get; set; }
public List<string> types { get; set; }
public string vicinity { get; set; }
}
public class PlacesApiQueryResponse
{
public List<object> html_attributions { get; set; }
public List<Result> results { get; set; }
public string status { get; set; }
}
通过对Google Places API的简单HTTP请求,我们就可以使用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);
}