## 一、前言

地址和经纬度互相转换的功能也经常用到,比如上次的路线方案查询的功能,之前官网是提供了直接输入出发地点和目的地的中文汉字,就可以查询到最优的路线,后面只支持输入出发地点和目的地的经纬度坐标了,这个就有点绕了,让用户输入什么经纬度坐标,那是个什么鬼?没有几个用户搞得懂的,所以就需要先将用户输入的出发地点和目的地的中文汉字先查询到对应的经纬度坐标,然后再传入路线查询的JS函数中查询结果即可,为什么突然关闭了这个地址经纬度自动转换的功能呢?我去后台看了下,原来这项功能变成收费模块了。

地址经纬度互换的功能只有在线地图有,因为需要去服务器查询对应的数据,拿到返回的数据,百度地图中需要用到BMap.Geocoder来实现这两个功能的互换,他内置了getPoint函数负责将地址转换为经纬度坐标,getLocation函数负责将经纬度坐标转为地址,于是将这两个功能封装成JS函数,每次需要的时候直接调用即可。

## 二、功能特点

1. 同时支持在线地图和离线地图两种模式。

2. 同时支持webkit内核、webengine内核、IE内核。

3. 支持设置多个标注点,信息包括名称、地址、经纬度。

4. 可设置地图是否可单击、拖动、鼠标滚轮缩放。

5. 可设置协议版本、秘钥、主题样式、中心坐标、中心城市、地理编码位置等。

6. 可设置地图缩放比例和级别,缩略图、比例尺、路况信息等控件的可见。

7. 支持地图交互,比如鼠标按下获取对应位置的经纬度。

8. 支持查询路线,可设置起点位置、终点位置、路线模式、路线方式、路线方案(最少时间、最少换乘、最少步行、不乘地铁、最短距离、避开高速)。

9. 可显示点线面工具,可直接在地图上划线、点、矩形、圆形等。

10. 可设置行政区划,指定某个城市区域绘制图层,在线地图自动输出行政区划边界点集合到js文件给离线地图使用。

11. 可静态或者动态添加多个覆盖物。支持点、折线、多边形、矩形、圆形、弧线、点聚合等。

12. 函数接口友好和统一,使用简单方便,就一个类。

13. 支持js动态交互添加点、删除点、清空点、重置点,不需要刷新页面。

14. 支持任意Qt版本、任意系统、任意编译器。

## 三、体验地址

国内站点:[https://gitee.com/feiyangqingyun](https://gitee.com/feiyangqingyun)

国际站点:[https://github.com/feiyangqingyun](https://github.com/feiyangqingyun)

## 四、效果图

## 五、相关代码

void MapBaiDu::addGeocoder(QStringList &list){    //地址解析成坐标+坐标解析成地址    list << QString("  var geo = new BMap.Geocoder();");    list << QString("  function getPointByAddr(addr) {");    list << QString("    geo.getPoint(addr, function(result) {");    list << QString("      if (result) {");    list << QString("        window.%1('geocoder', result.lng + "," + result.lat);").arg(callFun);    list << QString("      }");    list << QString("    });");    list << QString("  }");    list << QString("  function getAddrByPoint(point) {");    list << QString("    var list = point.split(',');");    list << QString("    var pot = new BMap.Point(list[0], list[1]);");    list << QString("    geo.getLocation(pot, function(result) {");    list << QString("      if (result) {");    list << QString("        window.%1('geocoder', result.address);").arg(callFun);    list << QString("      }");    list << QString("    });");    list << QString("  }");}void frmMapBaiDu::on_btnAddrToPoint_clicked(){    QString addr = ui->txtAddr->text().trimmed();    runJs(QString("getPointByAddr('%1')").arg(addr));}void frmMapBaiDu::on_btnPointToAddr_clicked(){    QString point = ui->txtPoint->text().trimmed();    runJs(QString("getAddrByPoint('%1')").arg(point));}

mysql 有一组经纬度 返回在某个区域内_Qt编写地图综合应用17-地址经纬度互转相关推荐

  1. 微信小程序 - 判断一个经纬度是否在一个多边形区域内

    功能描述: 最近公司做了一个定位打卡的小程序,需要判断用户的经纬度是否在一个闭合的多边形区域内,在区域内允许打卡,否则提示"不再打卡范围".由于腾讯地图小程序SDK没有提供相关功能 ...

  2. Qt编写地图综合应用3-省市区域图

    一.前言 省市区域图也可以叫省市轮廓图,就是将每个省份.市区的边界区域变成轮廓展示,只是个大概的轮廓,和真是的地图基本一致,毕竟都是一个个点堆起来的,可能会有很小很小的误差,之前做大屏系统中间那个中国 ...

  3. 过滤所有用户的行车轨迹查找在某一区域内的用户

    2019独角兽企业重金招聘Python工程师标准>>> // 判断经纬度是否在此区域内public void selectDevice2() throws IOException{S ...

  4. php 根据坐标计算范围内,php计算经纬度是否在区域内

    namespace lib; /** * Description of Area * * @author lsf */ class Area{ // 一个表示区域的三维数组 protected $co ...

  5. mysql 半径,MySQL基于距离半径的搜索和区域搜索POI实践

    因为应用是基于MySql的,所以我们的技术选型也是主要有两种:一种是多边形是否包含,一种是对每一个点进行计算. 首先看第一种:区域内搜索 在我们的业务平台中有很多景区的,每个景区都有围栏地址和中心点地 ...

  6. vb获得mysql的值,VB.NET调用MySQL存储过程并获得返回值的方法

    本文实例讲述了VB.NET调用MySQL存储过程并获得返回值的方法.分享给大家供大家参考.具体实现方法如下: Dim myConnectionString As String = "Data ...

  7. C#返回mysql查询结果_c#查询MySQL是怎么接收返回结果的

    刚找了个例子,是下面的代码片段.来自 http://blog.csdn.net/u010580422/article/details/45851237 关于最后两行代码有点问题 1.fill 函数似乎 ...

  8. android 经纬度的范围内,在Android里如何判断一个指定的经纬度点是否落在一个多边形区域内...

    在lbs开发中,可能要碰到这样的问题,如何判断一个指定的经纬度点是否落在一个多边形区域内,比如我在地图上画了一个多边形区域,然后给出一个经纬度点,怎样判断这个点是否在这个多边形范围之内,由于我用的是a ...

  9. mysql c接口返回自增id_详解mysql插入数据后返回自增ID的七种方法

    引言 mysql 和 oracle 插入的时候有一个很大的区别是: oracle 支持序列做 id: mysql 本身有一个列可以做自增长字段. mysql 在插入一条数据后,如何能获得到这个自增 i ...

最新文章

  1. FPGA笔试题解析(四)
  2. 计算机网络基础必备(三次握手,四次握手,以及HTTP协议相关)
  3. SSM项目spring配置文件详细步骤(分门别类、灵巧记忆)
  4. Druid源码分析系列1:dataSource.init()的准备工作
  5. MongoDB学习笔记(一) MongoDB介绍及安装
  6. (线段树 点更新 区间求和)lightoj1112
  7. 八、PHP框架Laravel学习笔记——表单伪造和 CSRF 保护
  8. 10 操作系统第二章 进程管理 死锁、死锁的处理策略 银行家算法
  9. Java Jackson
  10. python mysql树_python操作mysql数据库
  11. php事务讲解,PHP面向对象之事务脚本模式(详解)
  12. SQL null的学问
  13. linux如何进入超级终端,使用telnet和超级终端登录控制Ubuntu
  14. 推荐系统(十九)Gate网络(二):百度GemNN(Gating-Enhanced Multi-Task Neural Networks)
  15. CF Buns (01背包问题)
  16. 利用批处理脚本批量删除电脑上的空文件夹
  17. R语言中的函数5:purrr:map()
  18. 蜗牛爬井题目c语言,一年级奥数,蜗牛爬井问题
  19. 植物大战僵尸资源文件提取 总结
  20. append()与prepend()的区别

热门文章

  1. Java充电宝模型设计_继续探讨点赞功能模块设计
  2. ggplot2中显示坐标轴_qplot()——ggplot2的快速绘图
  3. mysql没有写入权限_MySQL的权限系统
  4. 不卷学术了,这次卷一波NLP实战落地经验
  5. 史上最全Spring面试71题与答案
  6. 论文小综 | Pre-training on Graphs
  7. 论文浅尝 | 基于未知谓词与实体类型知识图谱的 Zero-Shot 问题生成
  8. 论文阅读课8-Chinese Relation Extraction with Multi-Grained Information and External Linguistic Knowledge
  9. Python深度学习:No handles with labels found to put in legend.
  10. 转:Some interesting facts about SharePoint 2007 Search