隐藏

c# 高德地图 获取中心位置附近2公里的标注

发布:2024/3/7 10:23:56作者:管理员 来源:本站 浏览次数:162

要使用C#编程语言来获取高德地图上指定中心点周边2公里范围内的标注信息,可以按照以下步骤进行操作。


   首先需要引入相关的命名空间或库文件,如System.Net、Newtonsoft.Json等。


using System;

using System.Net;

using Newtonsoft.Json;


   构建API请求URL并发送HTTP GET请求,获取返回结果。这里我们将使用高德地图Web服务提供的POI(兴趣点)接口。根据自己的开发者密钥和其他参数设置URL。


string apiKey = "your_api_key"; // 替换为自己的高德地图开发者密钥

double latitude = 39.908756;   // 替换为目标中心点经度

double longitude = 116.407413; // 替换为目标中心点纬度

int radius = 2000;             // 替换为查询半径,单位为米


// 构建API请求URL

string url = $"https://restapi.amap.com/v3/place/around?location={longitude},{latitude}&radius={radius}&output=json&key={apiKey}";


// 创建HttpClient对象并发送GET请求

HttpClient client = new HttpClient();

var response = await client.GetAsync(url);

response.EnsureSuccessStatusCode();


// 从响应中获取JSON字符串

string jsonResult = await response.Content.ReadAsStringAsync();


   解析返回的JSON字符串,提取所需的标注信息。


dynamic resultObject = JsonConvert.DeserializeObject<ExpandoObject>(jsonResult);

if (resultObject != null && resultObject["pois"] != null) {

   var poisArray = resultObject["pois"];

   

   foreach (var poi in poisArray) {

       string name = poi["name"].ToString();       // 标注名称

       double distance = Convert.ToDouble(poi["distance"].ToString()); // 与中心点的距离

       

       Console.WriteLine($"{name}: {distance}米");

   }

} else {

   Console.WriteLine("未能获取到任何标注信息。");

}


完成以上步骤后,就可以通过调用该函数来获取指定中心点周边2公里范围内的标注信息了。记得在运行之前确保已正确配置好高德地图开发者密钥,并安装了必要的NuGet包。