集成腾讯位置服务到webapi
经纬度转换为详细地址信息
参考文档:http://lbs.qq.com/webservice_v1/guide-gcoder.html
首先申请key,如果使用的是服务端请求webservice API ,申请密钥的时候要选择“服务端”,创建成功之后设置ip白名单,否则默认全部ip都可以使用的你的key。
下面是我封装的工具类
/// <summary>
/// 腾讯地图经纬度转换帮助类
/// 参考文档:http://lbs.qq.com/webservice_v1/guide-gcoder.html
/// </summary>
public class TencentMapHelper
{
/// <summary>
/// 根据经纬度返回对应的城市信息
/// </summary>
/// <param name="location">纬度+,+经度:36.15849,120.42385</param>
/// <returns>转化之后的地址</returns>
public static TencentAddressModel GetAddress(string location)
{
var key = ConfigurationManager.AppSettings["mapkey"];
var convertAddress = $"http://apis.map.qq.com/ws/geocoder/v1/?location={location}&key={key}";
var res = HttpClientHelper.SendMessage(convertAddress);
var ipModel = JObject.Parse(res).ToObject<TencentAddressModel>(); return ipModel;
}
} /// <summary>
/// 经纬度转换后得到的结果实体
/// </summary>
public class TencentAddressModel
{
/// <summary>
/// 状态码,0为正常,
/// 310请求参数信息有误,
/// 311Key格式错误,
/// 306请求有护持信息请检查字符串,
/// 110请求来源未被授权
/// </summary>
public string status { set; get; } /// <summary>
/// 状态说明
/// </summary>
public string message { set; get; } /// <summary>
/// 逆地址解析结果
/// </summary>
public AddressModel result { set; get; } /// <summary>
/// 转换之后的坐标。若有多个坐标,则用 “;”进行区分和间隔
/// </summary>
public string locations { set; get; } } /// <summary>
/// result
/// </summary>
public class AddressModel
{
/// <summary>
/// 地址描述
/// </summary>
public string address { set; get; } /// <summary>
/// 位置描述
/// </summary>
public RegeModel formatted_addresses { set; get; } /// <summary>
/// 地址部件,address不满足需求时可自行拼接
/// </summary>
public Component address_component { set; get; } } /// <summary>
/// 位置描述
/// </summary>
public class RegeModel
{
/// <summary>
/// 经过腾讯地图优化过的描述方式,更具人性化特点
/// </summary>
public string recommend { set; get; } /// <summary>
/// 大致位置,可用于对位置的粗略描述
/// </summary>
public string rough { set; get; }
} /// <summary>
/// 地图组件
/// </summary>
public class Component
{
/// <summary>
/// 国家
/// </summary>
public string nation { set; get; } /// <summary>
/// 省
/// </summary>
public string province { set; get; } /// <summary>
/// 市
/// </summary>
public string city { set; get; } /// <summary>
/// 区,可能为空字串
/// </summary>
public string district { set; get; } /// <summary>
/// 街道,可能为空字串
/// </summary>
public string street { set; get; } /// <summary>
/// 门牌,可能为空字串
/// </summary>
public string street_number { set; get; }
}
反射的实体只是写了我自己需要的字段,大家可以加上自己需要的字段,就可以直接使用了。
上面的代码只是把经纬转化为详细地址信息,大家如果有别的需求可以自己修改。重在分享。

集成腾讯位置服务到webapi的更多相关文章
- # 初体验之腾讯位置服务彩云天气开发者api
初体验 最近接触到了boxjs,看到了里面一个比较有意思的彩云天气的脚本,由于自己本身就是彩云天气pro的用户,日常使用过程中感觉到彩云的降雨提醒还是挺方便的,于是就准备开始使用这个天气的脚本. 脚本 ...
- 腾讯位置服务API快速入门
前言 之前项目有个需求,在网页上显示微信发送过来的位置信息,该开始想用百度地图,后来发现腾讯地图相对简单一点 快速入门 申请Key https://lbs.qq.com/guides/startup. ...
- 集成TBS(腾讯浏览服务)x5内核的webView
由于公司产品需要展示html5页面,一开始我使用的是android自带webview,一些简单的页面没什么问题,但是碰到比较复杂的页面就让人无语了. 1.Android各大厂商都有自己定制的ROM,导 ...
- 腾讯浏览服务X5内核集成
腾讯浏览服务X5内核集成https://www.jianshu.com/p/8a7224ff371a TBS 腾讯浏览器服务接入文档https://x5.tencent.com/tbs/guide/s ...
- 使用springboot集成腾讯云短信服务,解决配置文件读取乱码问题
springboot集成腾讯云短信服务: (1)导入依赖 <dependency> <groupId>org.springframework.boot</groupId& ...
- 安卓开发笔记(二十四):手把手教你一步步集成腾讯X5内核(Tencent TBS X5)
1.为什么要集成腾讯X5内核? X5内核相对于系统webview,具有下述明显优势: 1) 速度快:相比系统webview的网页打开速度有30+%的提升: 2) 省流量:使用云端优化技术使流量节省20 ...
- Android使用腾讯浏览服务X5内核
[前期准备] 腾讯X5 jar包下载地址 [点击打开] 本次完整DEMO源码 [打开Github] [集成步骤] 第一步:下载jar包添加到项目 第二步:添加权限 <uses-permissio ...
- Unity3D集成腾讯语音GVoice SDK
友情提示:最近发现腾讯GVoice有另一个官网,叫做腾讯游戏服务,经过对比发现这个网站才是最新的,下面我介绍的那个估计是已经废弃的,但不知道为啥老的网站没有直接链接到新网址而是仍然保留了.不过新官网的 ...
- TencentTbs腾讯浏览服务 x5内核使用
Tencent TBS (下简称TBS) 腾讯浏览服务 What is it? 百度百科解释: 腾讯浏览服务(Tencent Browsing Service,以下简称TBS),由腾讯X5浏览服务升级 ...
随机推荐
- 用python实现文件自动上传
一.简介 用python实现文件自动上传,主要源于在测试项目中想实现自动化上传文件功能,无须手工输入.比如从windows到Linux,或从Linux到windows,或从Linux到Linux. 主 ...
- MFC图片操作
根据MFC要操作图片的来源,可分为以下两类: 一.非动态显示图片(即图片先通过资源管理器载入,有一个固定ID) 二.动态载入图片(即只需要在程序中指定图片的路径即可载入) 一.非动态显示图片 1.传送 ...
- SLAM算法中提取特征总结
我们要知道三维空间中的点在图像中的位置,就需要提取特征与特征匹配了. 1.检测特征点 2.计算描述子 3.特征匹配 1.检测特征点 我们用到的检测特征点的方法是FAST算法,最大的特点就是快! 算法原 ...
- hbuilder下用plus.barcode.Barcode做二维码扫描,当二维码容器的高度设置过低时,启动扫描会发生闪退
解决办法: 将固定高度改为百分比
- Windows 10 IoT Core 17133 for Insider 版本更新
今天,微软发布了Windows 10 IoT Core 17133 for Insider 版本更新,本次更新只修正了一些Bug,没有发布新的特性.用户可以登录Windows Device Porta ...
- nodejs常用代码片段
自动创建目录(多级) 相比起使用递归创建,调用 sheljsl 模块简单得多 const shell = require('shelljs') const fs = require('fs') if ...
- GitHubPopular运行记录
运行前准备: Android SDK 23.0.3 2.gradle-2.14.1-all 网盘地址 开始运行 按照项目描述中所说 npm i ------- ok react-native run- ...
- 谦先生-hadoop大数据运维纪实
1.NN宕掉切不过去先看zkfc的log引起原因是dfs.ha.fencing.ssh.private-key-files的配置路径配错造成以致无法找到公钥 2.dfs.namenode.shared ...
- 全栈开发工程师微信小程序 - 上
全栈开发工程师微信小程序-上 实现swiper组件 swiper 滑块视图容器. indicator-dots 是否显示面板指示点 false indicator-color 指示点颜色 indica ...
- 第64节:Java中的Spring Boot 2.0简介笔记
Java中的Spring Boot 2.0简介笔记 spring boot简介 依赖java8的运行环境 多模块项目 打包和运行 spring boot是由spring framework构建的,sp ...