C#调用Geocoding API进行地理编码与逆编码

时间:2022-05-15 04:32:35

使用C#调用Geocoding API来将地址转为经纬度,或者将经纬度转变为具体的地址。

Geocoding API的详细介绍参见:http://developer.baidu.com/map/webservice-geocoding.htm

     地理编码示例:

     网页调用:

C#调用Geocoding API进行地理编码与逆编码

C#代码实现:

 /// <summary>
/// 地址编码
/// </summary>
/// <param name="ak">百度密钥</param>
/// <param name="address">详细地址</param>
/// <param name="city">城市</param>
/// <returns></returns>
public string GeoEncoding(string ak, string address,string city)
{
string json = ",";
try
{
WebClient client = new WebClient();
client.Encoding = UTF8Encoding.UTF8;
string url = String.Format("http://api.map.baidu.com/geocoder/v2/?ak={0}&address={1}&city={2}&output=json", ak, address, city); //将返回的json数据转为JSON对象
JObject jo = ((JObject)JsonConvert.DeserializeObject(client.DownloadString(url)));
string status = jo["status"].ToString();
if (status == "")
{
//正常返回
json = jo["result"]["location"]["lat"].ToString() + "," + jo["result"]["location"]["lng"].ToString();
}
}
catch(Exception ex)
{
//异常处理
}
return json;
}

逆地址编码示例:

网页调用:

C#调用Geocoding API进行地理编码与逆编码

C#代码实现:

 /// <summary>
/// 逆地址编码
/// </summary>
/// <param name="ak">百度密钥</param>
/// <param name="longitude">经度</param>
/// <param name="latitude">纬度</param>
/// <returns></returns>
public string GeoDecoding(string ak, string longitude, string latitude)
{
string json = "";
try
{
WebClient client = new WebClient();
client.Encoding = UTF8Encoding.UTF8;
string url = String.Format("http://api.map.baidu.com/geocoder/v2/?ak={0}&location={1},{2}&output=json", ak, longitude, latitude); //将返回的json数据转为JSON对象
JObject jo = ((JObject)JsonConvert.DeserializeObject(client.DownloadString(url)));
string status = jo["status"].ToString();
if (status == "")
{
//正常返回
json = jo["result"]["formatted_address"].ToString() ;
}
}
catch (Exception ex)
{
//异常处理
}
return json;
}

C#调用Geocoding API进行地理编码与逆编码的更多相关文章

  1. HTML5调用百度地图API进行地理定位实例

    自从HTML5的标准确定以后,越来越多的网站使用HTML5来进行开发.虽然对HTML5支持的浏览器不是很多,但是依然抵挡不了大伙对HTML5开发的热情.今天为大家带来的是使用HTML5调用百度地图AP ...

  2. 【高德地图API】地理编码与逆地理编码

    一.地理编码 该功能实现地理编码服务,即地址匹配,从已知的地址描述到对应的经纬度坐标的转换,即根据地址信息,查询该地址所对应的点坐标等,地址(address) 为必选项,城市(city)为可选项. & ...

  3. 通过地址获得经纬度&lpar;百度Geocoding API&rpar;

    1.什么是Geocoding? Geocoding API 是一类简单的HTTP接口,用于提供从地址到经纬度坐标或者从经纬度坐标到地址的转换服务,用户可以使用C# .C++.Java等开发语言发送HT ...

  4. 百度地图地址解析&lpar;百度Geocoding API&rpar;

    1.什么是Geocoding? Geocoding API 是一类简单的HTTP接口,用于提供从地址到经纬度坐标或者从经纬度坐标到地址的转换服务,用户可以使用C# .C++.Java等开发语言发送HT ...

  5. Day6 google Geocoding API

    在看机器学习实战中K-means一章,练习中需要调用Yahoo PlaceFinder API 为地点添加经纬度,语言是python.申请到了appid但调用好像还要收费,要填写银行卡号才能用,没管那 ...

  6. ASP&period;NET MVC4中调用WEB API的四个方法

    http://tech.it168.com/a2012/0606/1357/000001357231_all.shtml [IT168技术]当今的软件开发中,设计软件的服务并将其通过网络对外发布,让各 ...

  7. 【ASP&period;NET Web API教程】3&period;2 通过&period;NET客户端调用Web API(C&num;)

    原文:[ASP.NET Web API教程]3.2 通过.NET客户端调用Web API(C#) 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的 ...

  8. 调用人人网API

    大致步骤与上篇调用新浪微博API类似.只是感觉新浪微博的做的更好一些,人人网的非常多要手动操作 与新浪微博类似,先在人人网开放平台http://dev.renren.com/注冊站内应用, 把该填的填 ...

  9. 调用Web API将文件上传到服务器的方法(&period;Net Core)

    最近遇到一个将Excel通过Web API存到服务器的问题,其中涉及到Excel的读取.调用API.Web  API怎么进行接收. 一. Excel的读取.调用API Excel读取以及调用API的代 ...

随机推荐

  1. java EE设计模式简介

    1.何为设计模式 设计模式提供了对常见应用设计问题的解决方案.在面向对象的编程中,设计模式通常在解决与对象创建和交互相关的问题,而非整体软件架构所面对的大规模问题,它们以样板代码的形式提供了通用的解决 ...

  2. PHP学习之环境搭建

    计算机环境 win7  64位 搭建  apache-httpd-2.2-win64  +  php-5.3.6-Win32-VC9-x64  +MySQL_5.5.13_winx64开发环境 参考: ...

  3. SimpleDateFormat 的性能和线程安全性

    系统正常运行一段时间后,QA报给我一个异常: java.lang.OutOfMemoryError: GC overhead limit exceeded at java.text.DecimalFo ...

  4. VS2010中手动重命名项目

    在visual studio 中重命名项目名称的方法: 1. 重命名项目名称 2. 修改Assembly name 3. 修改Default namespace 4. 在Assembly Inform ...

  5. js一些小知识点

    1.isNaN(),里面传一个参数,用来判断传入的值是否是数字.可以用来做一些简单的表单判断. 2.用innerHTML属性可以操作(包括获取和设置)span的内容,实际上对所有非表单元素都可以用in ...

  6. 优化Linux内核参数提高服务器负载能力

    首先,编辑一下/etc/sysctl.conf 文件,调整一下以下参数,如果没有经过优化的Linux内核可能没有这些参数,那么把需要补充的复制添加进去即可,其他设置默认即可,不需要理解. 记得修改完成 ...

  7. Android Gradle defaultConfig详解及实用技巧

    实际项目中,都会应用Android Gradle Plugin,根据实际中的项目模块的职责,可以具体应用如下四种插件类型. 1,apply plugin: 'com.android.applicati ...

  8. vue组件详解——使用slot分发内容

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code     一.什么是slot 在使用组件时,我们常常要像这样组合它们: <app& ...

  9. PySpider 爬虫系统

    PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI.采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监视器,项目管理器以及结果查看器 ...

  10. 【题解】 LA3708 Graveyard

    题目大意 在一个圆周长为10000的圆上等距离分布n个雕塑,现在有m个新加入的雕塑(还是要求等距离摆放),问n个雕塑移动的总距离的最小值. Solution 显然必然会有一个雕塑不移动,所以可以直接不 ...