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将为此收取多少费用?

Regarding google places API

如果我们查看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);
}