这个学期就要毕业了,选了一个无人机地面站软件设计的题目,这几天也开始着手做,

首先做了一个百度地图的调用,这里因为是上位机的开发,所有就不介绍Javascript的

调用方法,核心是用到一个类HttpClient,通过相关设置就能请求到相关内容,代码如下:

//创建一个HttpClient的对象
HttpClient client = new HttpClient();
//请求的地址 其中()里面是你的ak值 这是百度开发者中心控制台中创建应用百度给的 后面还用相关参数是对返回图片的相关设置
string MapUri = "http://api.map.baidu.com/staticimage/v2?ak=()i&mcode=666666&center=116.403874,39.914888&width=300&height=200&zoom=11 ";
//设置响应头 大概意思是告诉服务端是PC端的浏览器
client.DefaultRequestHeaders.Add("user-agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)");
//创建响应对象
HttpResponseMessage message1 = client.GetAsync(new Uri(MapUri)).Result;
//以流的方式接受响应信息
System.IO.Stream stream = message1.Content.ReadAsStreamAsync().Result;//http获取 返回流
//从流创建图片
Bitmap bitMap = new Bitmap(stream);

这里再做一个有IP获取详细系统的api:

//请求地址 ak同上 这里有个callback回调函数 目前我还没用到 估计是javascript调用时会用到
string GeoUri = "http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=39.983424,116.322987&output=json&pois=1&ak=()";
//响应对象
HttpResponseMessage message2 = client.GetAsync(new Uri(GeoUri)).Result;
//响应内容的长度
int length = message2.Content.ReadAsStringAsync().Result.Length;
//由于会返回renderReverse&renderReverse的前缀 所以把它删除 不然不符合Json格式要求
string result = message2.Content.ReadAsStringAsync().Result.Remove(length - 1).Remove(0, 29);//substring 包含头不包含尾
//这里的处理也是为了让数据满足json格式要求
result = "[" + result + "]";
//把结果转换为JArray
JArray ja = (JArray)JsonConvert.DeserializeObject(result);
//转化为JObject对象
JObject jsonObj = (JObject)ja[0];
//读取数据 这里要注意返回的数据格式 之前我就因为写错一个字符 导致接受不到数据
int ss = (int)jsonObj["status"];
string provinceName = (string)jsonObj["result"]["addressComponent"]["province"];
string cityName = (string)jsonObj["result"]["addressComponent"]["city"];
string districtName = (string)jsonObj["result"]["addressComponent"]["district"];
string street = (string)jsonObj["result"]["addressComponent"]["street"];

  

提示:这里处理数据用到Newtonsoft.Json.dll类库,引入到项目中就可以。

好像还用github的开源项目json.net,也是处理json数据的,应该用NuGet

包管理工具下载一下就可以用了,一般在它的官网也有教程的,由于本人没看过,

所以就不多说了。

毕设(一)C#的百度api调用的更多相关文章

  1. Python爬虫之百度API调用

    调用百度API获取经纬度信息. import requests import json address = input('请输入地点:') par = {'address': address, 'ke ...

  2. 百度API调用实例

    今天依据需求要从百度API中取出一些数据.这些操作包含:将坐标转换成百度坐标.依据转换的百度坐标进行特定的查询. 有需求的收藏下,免得下次手写浪费时间. 涉及到的操作有:JSON格式的字符解析.HTT ...

  3. 调用百度API进行文本纠错

    毕设做的是文本纠错方面,然后今天进组见研究生导师 .老师对我做的东西蛮感兴趣.然后介绍自己现在做的一些项目,其中有个模块需要有用到文本纠错功能. 要求1:有多人同时在线编辑文档,然后文档功能有类似Wo ...

  4. WPF技术触屏上的应用系列(二): 嵌入百度地图、API调用及结合本地数据库在地图上进行自定义标点的实现

    原文:WPF技术触屏上的应用系列(二): 嵌入百度地图.API调用及结合本地数据库在地图上进行自定义标点的实现 去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用.客户端是Window7操作系 ...

  5. HTML 百度地图API调用示例源码

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  6. 调用百度API返回经纬度

    后台调用百度API接口生成: import java.io.BufferedReader; import java.io.IOException;import java.io.InputStreamR ...

  7. Vue 通过调用百度API获取地理位置-经度纬度省份城市

    一.首先在百度api注册获得ak密钥 二.新建js文件,我命名为loadBMap.js,里面创建script,代码如下: /** * 加载地图 * @param {Function} callback ...

  8. Java web与web gis学习笔记(二)——百度地图API调用

    系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...

  9. 去百度API的百度地图准确叠加和坐标转换的解决方案研究

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 目前项目上如果要使用百度地图,得加载百度的开发包,然后通过百 ...

随机推荐

  1. 简洁常用权限系统的设计与实现(五):不维护节点的深度level,手动计算level,构造树

     这种方式,与第三篇中介绍的类似.不同的是,数据库中不存储节点的深度level,增加和修改时,也不用维护.而是,在程序中,实时去计算的. 至于后面的,按照level升序排序,再迭代所有的节点构造树,与 ...

  2. tensorflow 函数接口的理解

    1. tf.nn.softmax tf.nn.softmax(logits, dim=-1, name=None) w*x+b ⇒ logits softmax 函数执行的操作:exp(logits) ...

  3. Android Studio 如何打JAR包(修订版)

    AndroidStudio项目打包成jar 前言:在eclipse中我们知道如何将一个项目导出为jar包,现在普遍AndroidStuido开发,这里一步一步详加介绍AS项目打包成jar,jar和ar ...

  4. 【21.67%】【codeforces 727B】Bill Total Value

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  5. 编程算法 - 背包问题(三种动态规划) 代码(C)

    背包问题(三种动态规划) 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目參考: http://blog.csdn.net/caroline_wen ...

  6. altium designer电气符号和包的常用元素

    1. 标准电阻:RES1.RES2.包裹:AXIAL-0.3至AXIAL-1.0 两port可变电阻器:RES3.RES4.包裹:AXIAL-0.3至AXIAL-1.0 三port可变电阻:RESIS ...

  7. this prototype constructor

    http://www.cnblogs.com/phpmix/articles/1734031.html

  8. twemproxy架构分析——剖析twemproxy代码前编

    twemproxy背景 在业务量剧增的今天,单台高速缓存服务器已经无法满足业务的需求, 而相较于大容量SSD数据存储方案,缓存具备速度和成本优势,但也存在数据安全性的挑战.为此搭建一个高速缓存服务器集 ...

  9. HTTP协议(一些报头字段的作用,如cace-control、keep-alive)

    ---恢复内容开始--- Http连接是一种短连接,是一种无状态的连接. 所谓的无状态,是指浏览器每次向服务器发起请求的时候,不是通过一个连接,而是每次都建立一个新的连接. 如果是一个连接的话,服务器 ...

  10. WPF-WPF BitmapEffect (按钮凹凸效果)

    原文:WPF-WPF BitmapEffect (按钮凹凸效果) BitmapEffect位图效果是简单的像素处理操作.它可以呈现下面几种特殊效果.              BevelBitmapE ...