经纬度转换为详细地址信息

参考文档: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的更多相关文章

  1. # 初体验之腾讯位置服务彩云天气开发者api

    初体验 最近接触到了boxjs,看到了里面一个比较有意思的彩云天气的脚本,由于自己本身就是彩云天气pro的用户,日常使用过程中感觉到彩云的降雨提醒还是挺方便的,于是就准备开始使用这个天气的脚本. 脚本 ...

  2. 腾讯位置服务API快速入门

    前言 之前项目有个需求,在网页上显示微信发送过来的位置信息,该开始想用百度地图,后来发现腾讯地图相对简单一点 快速入门 申请Key https://lbs.qq.com/guides/startup. ...

  3. 集成TBS(腾讯浏览服务)x5内核的webView

    由于公司产品需要展示html5页面,一开始我使用的是android自带webview,一些简单的页面没什么问题,但是碰到比较复杂的页面就让人无语了. 1.Android各大厂商都有自己定制的ROM,导 ...

  4. 腾讯浏览服务X5内核集成

    腾讯浏览服务X5内核集成https://www.jianshu.com/p/8a7224ff371a TBS 腾讯浏览器服务接入文档https://x5.tencent.com/tbs/guide/s ...

  5. 使用springboot集成腾讯云短信服务,解决配置文件读取乱码问题

    springboot集成腾讯云短信服务: (1)导入依赖 <dependency> <groupId>org.springframework.boot</groupId& ...

  6. 安卓开发笔记(二十四):手把手教你一步步集成腾讯X5内核(Tencent TBS X5)

    1.为什么要集成腾讯X5内核? X5内核相对于系统webview,具有下述明显优势: 1) 速度快:相比系统webview的网页打开速度有30+%的提升: 2) 省流量:使用云端优化技术使流量节省20 ...

  7. Android使用腾讯浏览服务X5内核

    [前期准备] 腾讯X5 jar包下载地址 [点击打开] 本次完整DEMO源码 [打开Github] [集成步骤] 第一步:下载jar包添加到项目 第二步:添加权限 <uses-permissio ...

  8. Unity3D集成腾讯语音GVoice SDK

    友情提示:最近发现腾讯GVoice有另一个官网,叫做腾讯游戏服务,经过对比发现这个网站才是最新的,下面我介绍的那个估计是已经废弃的,但不知道为啥老的网站没有直接链接到新网址而是仍然保留了.不过新官网的 ...

  9. TencentTbs腾讯浏览服务 x5内核使用

    Tencent TBS (下简称TBS) 腾讯浏览服务 What is it? 百度百科解释: 腾讯浏览服务(Tencent Browsing Service,以下简称TBS),由腾讯X5浏览服务升级 ...

随机推荐

  1. 2018年2月19日我的java学习(——)

    在学完了类和对象的时候,开始对面向对象的思想有了一点认识,不过也不是完全的理解了. 就现在的学习状态来说,是非常的不错的,但是在学习的内容来说,我学的好像只是跟随这 站长的思路而已,也许是经验不足吧. ...

  2. Akka-CQRS(4)- CQRS Writer Actor 示范

    我觉着,CQRS的写部分最核心.最复杂的部分应该是Writer-Actor了.其它的监管(supervising).分片部署等都比较规范,没太多的变动.几乎Writer-Actor所有的业务逻辑都在R ...

  3. HttpServlet的转发和重定向

    HttpServletResponse重定向 1.HTTP协议规定了一种重定向的机制,重定向的运作流程如下 用户在浏览器输入特定的URL,请求访问服务端的某个组件. 服务端的组件返回一个状态码为302 ...

  4. 移动端点击事件300ms延迟问题解决方案——fastclick.js

    移动端点击事件300ms延迟的问题由来已久,如下截图 下面截图来自原文:https://www.jianshu.com/p/6e2b68a93c88 网上关于300ms延迟问题的解决方法,大致分为 3 ...

  5. LabVIEW(四):数据存储和文件IO

    1.使用NI数据采集板卡来进行数据保存和文件I/O操作.2.在一个典型的测试测量系统当中,包括:信号调理.信号采集.信号分析.信号显示.数据存储.数据存储:将采集到的数据储存到磁盘上,以备日后离线分析 ...

  6. iTerm2 使用笔记

    iTerm2 使用了1年多了,一些功能其实还没有主动去发现,这次接着项目忙完的空闲时间整理一下tips,提高工作效率,方便以后查阅. 一.几个术语 从小到大:session > pane > ...

  7. shell 中let无法使用的原因

    运行 sh    let.sh 时,却显示  let: not found 百度之后知道: /bin/sh指向了dash而不是bash,dash不支持let命令. 解决方法: 法1.使用  bash ...

  8. Ubuntu双网卡设置内外网上网的问题

    UBUNTU16.04系统,双网卡:eth0, eth1.分贝设置成Public IP, 和局域网IP, 这样这台计算机就可以访问局域网内的各个IP, 同时还可以在全球各地被访问,使用ssh or r ...

  9. Spring Boot 的 10 个核心模块

    学习 Spring Boot 必须得了解它的核心模块,和 Spring 框架一样,Spring Boot 也是一个庞大的项目,也是由许多核心子模块组成的. 你所需具备的基础 告诉你,Spring Bo ...

  10. HBase之HRegionServer启动(含与HMaster交互)

    在我的博文<HBase——HMaster启动之一>.<HBase——HMaster启动之二>中已经详细介绍过HMaster在启动过程中调用的各种方法.下面,单就HRegionS ...