我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C#调用百度地图API根据地名获取经纬度geocoding

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C#调用百度地图API根据地名获取经纬度geocoding

前言

公司的一个内部网站维护,需要根据地名填写经纬度,最终同echarts生成地图。

之前数据比较少,直接经纬度查询查的,https://jingweidu.bmcx.com/

现在数据越来越多,手动查询太麻烦,于是想到通过地图api批量查询,最后选择了百度地图API。

步骤 一、到百度地图开放平台注册认证,并创建应用,获取ak

百度地图开放平台:https://lbsyun.baidu.com/apiconsole/key#/home

二、查看api文档

根据地名获取经纬度的接口,可以使用逆地理编码 

https://api.map.baidu.com/geocoding/v3/?address=北京市海淀区上地十街10号&output=json&ak=您的ak&callback=showLocation //GET请求

接口功能介绍如下https://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding

查看请求参数

可以看到几个主要的参数address,ak,output

、查看返回结果参数

status为返回结果状态值,成功返回0,其它值都是失败

 

三、创建GeocodingMap类,根据地名获取经纬度

根据api返回结果参数,创建结果模型

public class GeocodingResult
{
    public int status { get; set; } = -1;
    public string msg { get; set; }
    public Result result { get; set; }
}
 
public class Result
{
    public Location location { get; set; }
    public int precise { get; set; }
    public int confidence { get; set; }
    public int comprehension { get; set; }
    public string level { get; set; }
}
 
public class Location
{
    public float lng { get; set; }
    public float lat { get; set; }
}

创建几个类,存储ak,请求url,获取经纬度,为了演示方便,这里将几个类写在一起

public class Config
{
    public static string Ak { get; set; } = "xxxxxxxxxxxxxx";//这里根据实际填写,填写刚才申请的应用ak
}
 
public class HttpRequestHelper
{
    public static async Task<string> RequestUrl(string url)
    {
        string content = string.Empty;
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            using (StreamReader sr = new StreamReader(response.GetResponseStream()))
            {
                content = await sr.ReadToEndAsync();
            }
        }
        return content;
    }
}
 
public class GeocodingMap
{
    public static async Task<GeocodingResult> GetGeocoding(string address)
    {
        //API 文档:https://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding
 
        string url = @$"https://api.map.baidu.com/geocoding/v3/?address={address}&output=json&ak={Config.Ak}";
        string strJson = await HttpRequestHelper.RequestUrl(url);
        var requestResult = JsonSerializer.Deserialize<GeocodingResult>(strJson);
        return requestResult;
    }
}
 

调用

var geocoding = await GeocodingMap.GetGeocoding(address);
if (geocoding.status == 0)
{
    //经纬度
    var axisX = geocoding.result.location.lng;
    var axisY = geocoding.result.location.lat
}

参考

百度地图API根据地名获取经纬度 - 慕尼黑哲哉 - 博客园

到此这篇关于C#调用百度地图API根据地名获取经纬度geocoding的文章就介绍到这了,更多相关C#百度地图获取经纬度内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C#调用百度地图API根据地名获取经纬度geocoding

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

高德地图API-获取位置信息的经纬度

开发指南:https://lbs.amap.com/api/webservice/guide/api/georegeo/ 一、首先需要注册成为开发者,注册成功后就可以使用此开放平台。 高德开放平台网址:https://lbs.amap.co
2023-08-30

利用java怎么样实现根据经纬度获取地址

这篇文章将为大家详细讲解有关利用java怎么样实现根据经纬度获取地址,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 java 根据经纬度获取地址实现代码实现代码:public class G
2023-05-31

Android利用百度地图bomb服务器实现经纬度获取、测距等

Android利用百度地图bomb服务器实现经纬度获取、测距等 实现功能为地图展示,定位当前位置,获取当前位置的经纬度,用户输入目的地,获取目的地的经纬度信息,在地图上标注目的地位置,根据经纬度得到距离,发布订单即将该条订单信息写入服务器。
2022-06-06

HTML5页面直接调用百度地图API如何获取当前位置直接导航目的地

这篇文章主要介绍了HTML5页面直接调用百度地图API如何获取当前位置直接导航目的地,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我是应用在微信中,自定义菜单,菜单直接链接到
2023-06-09

Android编程实现根据经纬度查询地址并对获取的json数据进行解析的方法

本文实例讲述了Android编程实现根据经纬度查询地址并对获取的json数据进行解析的方法。分享给大家供大家参考,具体如下: 第一步:根据指定的URL从google 服务器上获得包含地址的json格式的数据(其还提供xml格式的,但json
2022-06-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录