百度API从经纬度坐标到地址的转换服务
/// <summary>
/// 百度API从经纬度坐标到地址的转换服务
/// </summary>
/// <param name="lng"></param>
/// <param name="lat"></param>
/// <returns></returns>
public string GetAddress(string lng, string lat)
{
string strUrl = @"http://api.map.baidu.com/geocoder/v2/?ak=ELYtYXEH1WmDrK1wDsEWRNkGviRL0ZEo&callback=renderReverse&location=" + lat + "," + lng + @"&output=json&pois=0";
//WebRequest request = WebRequest.Create(url);
//request.Method = "POST";
//XmlDocument xmlDoc = new XmlDocument();
//string sendData = xmlDoc.InnerXml;
//byte[] byteArray = Encoding.Default.GetBytes(sendData);
//Stream dataStream = request.GetRequestStream();
//dataStream.Write(byteArray, 0, byteArray.Length);
//dataStream.Close();
//WebResponse response = request.GetResponse();
//dataStream = response.GetResponseStream();
//StreamReader reader = new StreamReader(dataStream, System.Text.Encoding.GetEncoding("utf-8"));
string strResult;
try
{
WebRequest request = WebRequest.Create(strUrl);
request.Timeout = 12000;
request.Method = "POST";
HttpWebResponse HttpWResp = (HttpWebResponse)request.GetResponse();
Stream myStream = HttpWResp.GetResponseStream();
StreamReader reader = new StreamReader(myStream,System.Text.Encoding.GetEncoding("utf-8"));
strResult = reader.ReadToEnd();
//StringBuilder strBuilder = new StringBuilder();
//while (-1 != reader.Peek())
//{
// strBuilder.Append(reader.ReadLine());
//}
//strResult = strBuilder.ToString();
}
catch (Exception exp)
{
strResult = "错误:" + exp.Message;
}
return strResult;
}
解析百度API返回的Json串方法如下:
#region 解析Json
//调用百度API接口
string strJosn = GetAddress(reservation.Longitude.ToString(), reservation.Latitude.ToString());
strJosn = strJosn.Remove(strJosn.Length - 1).Remove(0, 29);
JObject jo = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(strJosn);
string Status = jo["status"].ToString();
if (Status == "0")
{
//地址拼接
strJosn = jo["result"]["formatted_address"].ToString() + jo["result"]["sematic_description"].ToString();
}
else if (Status == "1")
{
result.IsSuccess = false;
result.MsgCode = "0";
result.Message = "服务器内部错误!";
}
else if (Status == "2")
{
result.IsSuccess = false;
result.MsgCode = "0";
result.Message = "请求参数非法!";
}
else if (Status == "101")
{
result.IsSuccess = false;
result.MsgCode = "0";
result.Message = "服务禁用!";
}
#endregion
百度API从经纬度坐标到地址的转换服务的更多相关文章
- java工具类(一)之服务端java实现根据地址从百度API获取经纬度
服务端java实现根据地址从百度API获取经纬度 代码: package com.pb.baiduapi; import java.io.BufferedReader; import java.io. ...
- 百度api:根据经纬度获取地理位置信息
调用百度api,根据经度和纬度获取地理位置信息,返回Json. C#代码: using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Syste ...
- 利用百度API(js),怎样通过地址获取经纬度
根据经纬度找到具体地址:http://api.map.baidu.com/geocoder?location=纬度,经度&output=输出格式类型&key=用户密钥如:http:// ...
- 调用百度API返回经纬度
后台调用百度API接口生成: import java.io.BufferedReader; import java.io.IOException;import java.io.InputStreamR ...
- 地图经纬度坐标与屏幕坐标的转换(android版)
我们在开发GIS系统的时候,首先要解决的就是地图的可视化问题,这个问题的关键就在于如何把地图的坐标转换成屏幕坐标,然后才到渲染着色.标注等.以下以wgs84经纬度坐标为基准,介绍一下地图经纬度坐标与屏 ...
- C#百度api 根据经纬度获取地址
public string GetAddress(string lat, string lng) { try { string res = ""; string url = @&q ...
- 根据百度API获得经纬度,然后根据经纬度在获得城市信息
package com.pb.baiduapi; import java.io.BufferedReader; import java.io.IOException; import java.io.I ...
- Java根据百度API获得经纬度,然后根据经纬度在获得城市信息
原文:http://www.open-open.com/code/view/1421032487812 import java.io.BufferedReader; import java.io.IO ...
- 百度API获取经纬度使用
首先通过百度地图,注册账号,然后申请密钥 http://lbsyun.baidu.com/apiconsole/key 搜索某个关键字 http://api.map.baidu.com/place/v ...
随机推荐
- php curl xml传输和转换
<?php /** * API * User: sgfoot * Date: 2017/3/20 * Time: 18:05 */ class apiCurl { private $config ...
- 【android】getDimension()、getDimensionPixelOffset()和getDimensionPixelSize()区别详解
在自定义控件中使用自定义属性时,经常需要使用java代码获取在xml中定义的尺寸,相关有以下三个函数 getDimension() getDimensionPixelOffset() getDimen ...
- gvim的常用编辑快捷键
gvim的快捷键很多,很难记全,但是入门初期应该找过几种基本的命令 下面结合自己常用到的介绍下 光标跳转: 0:行首 $:行尾 e:下一个单词的结尾 w:下一个单词的开头 b:上一个单词 H:当前页面 ...
- openssl之EVP系列之11---EVP_Verify系列函数介绍
openssl之EVP系列之11---EVP_Verify系列函数介绍 ---依据openssl doc/crypto/EVP_VerifyInit.pod翻译和自己的理解写成 (作者 ...
- phonegap工程搭建基础(一)
官网:http://cordova.apache.org 一.环境配置 1. 安装Cordova on OS X and Linux: $ sudo npm install -g cord ...
- yarn 基本用法
1.初始化一个新的项目 yarn init 2.添加一个依赖包 yarn add [package] yarn add [package]@[version] yarn add [package]@[ ...
- mysql创建还原点
set autocommit = 0; insert into t1(name) values ("user1"); savepoint p1; insert into t ...
- swich-----case语句的用法
转: http://xinzhi.wenda.so.com/a/1517927252619839
- SD 卡PIN定义
转载:http://blog.sina.com.cn/s/blog_56e19aa70101avnw.html SD卡和TF卡接口引脚定义
- [转]eclipse查看某个java类属于哪个jar包
原文地址:https://blog.csdn.net/csdnliuxin123524/article/details/73572836 在eclipse界面直接按ctrl+shift+t,弹出以下界 ...