如何在 C#.Net 中实现 Google Place API
How to implement Google Place API in C#.Net
我正在使用 C#.NET 开发 EPOS 系统。在我的项目中,我必须实现一个场景:
- 用户将在文本框中输入邮政编码。
- 使用 google 个地方 API 的应用程序将 return 城市、街道和城镇分别在 3 个 Tex 框中。
请任何人帮助我如何在 C#.net 中实现这种情况。
我已经在 https://console.cloud.google.com/apis/credentials/key 上创建了 Google 项目并为我的项目生成 Google Place API 密钥。
我在 google 上搜索了很多,但所有示例都是在 asp.net 中实现的,但我需要在 C# Net 中实现。
任何人帮助我。
提前致谢。
I have implemented Some how but i don't know how to read it
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Web.Script.Serialization;
using Newtonsoft.Json;
namespace apidemo
{
class Program
{
String response, result;
const String apiKey= "My APi kEy";
static void Main(string[] args)
{
getdata("B11 4RA");
Console.ReadLine();
}
static async public void getdata(String code)
{
try
{
using (var client = new HttpClient())
{
var response = await client.GetStringAsync(String.Format("https://maps.googleapis.com/maps/api/place/autocomplete/json?key="+ apiKey + "&input=" +code));
Console.WriteLine(response);
}
}
catch (Exception ex) {
Console.Write(ex.ToString());
}
}
}
}
Output is this
如果我们查看 documentation 的 Google 位置 API,我们可以看到 JSON 的格式,即对 [=17= 的请求] returns。您可以遍历 json 对象并获取所需的值,如下面的代码片段所示。
JObject objectContainer = response.Value<JObject>("candidates");
foreach (KeyValuePair<string, JToken> tag in objectContainer)
{
if(tag.key=="formatted_address")
var address = tag.value;
if(tag.key=="name")
var name = tag.value;
}
通过对 Google 地点 API 的简单 HTTP 请求,我们可以使用上面的代码来获取所需的字段。
using (var client = new HttpClient())
{
var response = await client.GetStringAsync("https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=YOUR_POSTCODE&inputtype=textquery&&fields=photos,formatted_address,name,opening_hours,rating&key=YOUR_API_KEY");
var result = JsonConvert.DeserializeObject<PlacesApiQueryResponse>(response);
}
我正在使用 C#.NET 开发 EPOS 系统。在我的项目中,我必须实现一个场景:
- 用户将在文本框中输入邮政编码。
- 使用 google 个地方 API 的应用程序将 return 城市、街道和城镇分别在 3 个 Tex 框中。 请任何人帮助我如何在 C#.net 中实现这种情况。
我已经在 https://console.cloud.google.com/apis/credentials/key 上创建了 Google 项目并为我的项目生成 Google Place API 密钥。
我在 google 上搜索了很多,但所有示例都是在 asp.net 中实现的,但我需要在 C# Net 中实现。 任何人帮助我。 提前致谢。
I have implemented Some how but i don't know how to read it
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Web.Script.Serialization;
using Newtonsoft.Json;
namespace apidemo
{
class Program
{
String response, result;
const String apiKey= "My APi kEy";
static void Main(string[] args)
{
getdata("B11 4RA");
Console.ReadLine();
}
static async public void getdata(String code)
{
try
{
using (var client = new HttpClient())
{
var response = await client.GetStringAsync(String.Format("https://maps.googleapis.com/maps/api/place/autocomplete/json?key="+ apiKey + "&input=" +code));
Console.WriteLine(response);
}
}
catch (Exception ex) {
Console.Write(ex.ToString());
}
}
}
}
Output is this
如果我们查看 documentation 的 Google 位置 API,我们可以看到 JSON 的格式,即对 [=17= 的请求] returns。您可以遍历 json 对象并获取所需的值,如下面的代码片段所示。
JObject objectContainer = response.Value<JObject>("candidates");
foreach (KeyValuePair<string, JToken> tag in objectContainer)
{
if(tag.key=="formatted_address")
var address = tag.value;
if(tag.key=="name")
var name = tag.value;
}
通过对 Google 地点 API 的简单 HTTP 请求,我们可以使用上面的代码来获取所需的字段。
using (var client = new HttpClient())
{
var response = await client.GetStringAsync("https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=YOUR_POSTCODE&inputtype=textquery&&fields=photos,formatted_address,name,opening_hours,rating&key=YOUR_API_KEY");
var result = JsonConvert.DeserializeObject<PlacesApiQueryResponse>(response);
}