一、前言
路线查询功能仅适用于在线地图,因为该路线规划需要频繁更新,并且这种数据同步需要大量的人力和物力进行统计,所以该东西必须放在服务器端。即使它像手机一样放在离线本地,也需要定期更新,否则数据可能不正确。路线查询也称为旅行计划。它基本上分为两类。一个在开车,另一个不开车。其中,驾驶员有多策略可供选择,如最短时间、最短距离、避免高速行驶等。而那些不开车的人也有多策略可供选择,比如最短时间、最少换乘、最少步行和没有地铁。默认情况下,路线查询功能现在似乎只支持经度和纬度作为参数。以前,可以直接填写中文,的名字和地名,如门牌号。这种地址解析或反向解析功能需要在后台用相应的密钥打开。
昨天,我重新安排了路径规划的功能,发现官方网站增加了步行和骑行两种路径规划方法。因此,我越来越觉得在服务器上运行的优势,尤其是多,它可以不断优化和更新服务器程序。这使得用户可能没有感知或影响,并且无意识地使用最新的程序和服务。因此,在程序界,的发展中,我经常会遇到客户端或服务器的处理选择。当然,客户也有客户的优势。
二、功能特点
同时,它支持在线地图和离线地图。
同时,支持webkit内核、webengine内核和IE内核。
支持设置多标签点,信息包括姓名、地址、经纬度。
您可以设置是否可以用鼠标滚轮点击、拖动或缩放地图。
您可以设置协议版本、密钥、主题风格、中心坐标、中心城市、地理编码位置等。
您可以设置地图的比例和级别,以及缩略图、比例、路况信息等控件的可见性。
例如,支持地图交互,按鼠标获取相应位置的经度和纬度。
支持路线查询。可以设置起始位置、结束位置、路线模式、路线模式和路线方案(最短时间、最短换乘、最短步行、无地铁、最短距离和避免高速)。
可以显示点、线和表面工具,以及线、点、矩形、圆形等。可以直接画在地图上。
您可以设置行政区划,指定某个城市区域来绘制图层,在线地图会自动将行政区划的边界点输出到js文件,供离线地图使用。
多封面可以静态或动态添加。支持点、折线, 多边、矩形、圆形、弧形、点聚合等。
功能界面友好统一,使用方便,只需一个类。
支持Js动态交互添加、删除、清空和重置点,无需刷新页面。
支持任何Qt版本,任何系统,任何编译器。
三、体验地址
经验地址:https://pan.baidu.com/s/1uQsDQO5E5crUBN2J-nPeLQ提取代码:1jkp文件名:bin_map.zip
国内网站:https://gitee.com/feiyangqingyun
国际网站:https://github.com/feiyangqingyun
个人主页:https://blog.csdn.net/feiyangqingyun
知乎主页:https://www.zhihu.com/people/feiyangqingyun/
四、效果图
五、相关代码
void mapbaidu : addroute(QStringList列表)
{
如果(!startAddr.isEmpty()) {
//地址标有,表示采用的纬度和经度。
if (startAddr.contains( ', '){
list QString(' var p1=新BMap。点(% 1); ')。arg(StartAddr);
list QString(' var p2=新BMap。点(% 1); ')。arg(EndAdr);
}其他{
列表QString( ' var P1= ' % 1 '; ')。arg(StartAddr);
列表QString( ' var p2= ' % 1 '; ')。arg(EndAdr);
}
//0-总线1-驱动2-步行3-乘坐
if (routeType==0) {
列表QString(' var transit=新BMap。TransitRoute(映射,{ renderOptions: { map:map,panel: ' result ' },policy :% 1 }); ')。arg(策略类型);
列表QString(' transit.search(p1,p2); ');
}否则如果(routeType==1) {
列表QString(' var driving=新BMap .行驶路线(地图,{ renderOptions: { map:map,panel: ' result ' },策略:% 1 }); ').arg(策略类型);
列表QString(' driving.search(p1,p2); ');
}否则如果(routeType==2) {
列表QString(' var walking=新BMap .步行路线(地图,{ renderOptions: { map:map,panel: ' result ' },策略:% 1 }); ').arg(策略类型);
列表QString( '步行。搜索(P1,p2); ');
}否则如果(routeType==3) {
列表QString(' var riding=新BMap .动态地图(地图,{ renderOptions: { map:map,panel: ' result ' },策略:% 1 }); ').arg(策略类型);
list QString(' riding.search(p1,p2); ');
}
}
}
发表评论