可以初步显示地图了

通过使用Tangram默认的OSM, 已经可以成功显示地图了, 地图配色惨了点, 留作以后修改吧。

使用Tangram显示地图很简单, 只需要new一个Tangram::Map, 并load一个预定义的Scene, 然后设置一个合适的camera位置就可以了。

    m_map = new Tangram::Map();
    m_map->loadSceneAsync(scene.toStdString().c_str(), false);
    m_map->setPosition(117.13788604736328, 39.24948501586914);
    m_map->setZoom(16);

然后响应QOpenGLWidget的初始化和绘图消息:

void MapWidget::initializeGL()
{
    glClearColor(0, 0, 0, 1);
    m_lastRenderTime = QDateTime::currentMSecsSinceEpoch();
    m_map->setupGL();
}

void MapWidget::paintGL()
{
    qint64 curr = QDateTime::currentMSecsSinceEpoch();
    m_map->update(curr - m_lastRenderTime);
    m_map->render();
    m_lastRenderTime = curr;
}

简单类图:

MapView是一个纯虚C++接口, 如果有需要, 可以使用其他GUI库来实现, 保留迁移到Android, iOS等平台的能力

这里选择了QOpenGLWidget, 而不是传统的QGLWidget, 是因为从Qt5.5开始, QGLWidget被标记为废弃, QOpenGLWidget将取代原来QGLWidget的功能

尤其是在和QtQuick2或QML共同工作时, 更需要QOpenGLWidget

时间: 2024-10-17 00:19:57

可以初步显示地图了的相关文章

Android使用百度LBS SDK(一)显示地图MapView

类似百度应用引擎,使用百度的LBS服务,首先我们在百度开放服务平台创建一个应用,如下图: 进入应用详情,然后点击"LBS服务",设置应用: 数字签名的获取方式,可以在Eclipse(ADT 22)中查看,Window->Preferences->Android->Build,SHA1 fingerprint就是我们需要的: Android SDK安全码组成:数字签名+;+包名. 接着下载LBS Android SDK,然后按照百度官方文档的方法进行操作: 第一步:在工

为android游戏开发-准备的地图编辑器-初步刷地图

采用多文理混合,单页面支持8张文理进行刷绘 为android游戏开发-准备的地图编辑器-初步刷地图,布布扣,bubuko.com

iOS定位服务与地图开发(4)---显示地图

iOS 6之前,苹果使用的是谷歌地图,iOS 6之后,苹果使用了自己的地图(国内好像用的是高德地图),但是API编程接口与iOS 5相比没有太大变化. iOS 应用程序中使用Map Kit API开发地图应用程序,使用MKMapView类作为地图显示视图,其委托协议是MKMapViewDelegate. 1.显示地图: .h文件中代码 #import <MapKit/MapKit.h> @interface YXCViewController <MKMapViewDelegate>

如何不显示地图就获取位置数据?

使用“同步加载插件的方式”,引用各类插件,就可以不创建地图,直接获取地图数据. 以下用IP定位做为例子,详细讲述“如何不显示地图就获取当前位置”. 引入城市定位插件,更多插件与使用方法请见插件类总览 <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&key=您的Key&plugin=AMap.CitySearch"></script> 实

[android] 百度地图开发 (一).申请AK显示地图及解决显示空白网格问题

    最近做android百度地图,但是使用baidumapapi_v2_3_1.jar和libBaiduMapSDK_v2_3_1.so显示百度地图时总是遇到问题--只显示网格而没有显示地图,网络连接和APIKey申请都是正确的,就是不知道为什么不能显示,网上也有很多人遇到这个问题,有的是SDK更新不兼容.而且网上很多百度地图都是使用V2.3.1版本,后来没有办法只有通过baidumapapi_v2_4_1.jar完成显示地图. 其中需要注意的是使用2.3.1时调用manager.init(

Google Maps API显示地图的小示例

来源:http://www.ido321.com/1089.html 效果(新版Firefox中测试): 代码: <!DOCTYPE> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>Google Map</title> <script type="te

探究本质,浏览器如何显示地图之地图比例尺换算原理

1.没有豆浆机怎么办? 喝豆浆是我们早晨中基本必备的一环,油条豆浆,其乐融融.如果我问大家豆浆是怎么来的,五谷不分的人会说是用钱买的,了解有黄豆这会事的人会说是用豆浆机把黄豆磨出来的.如果我们再倒退十几年,我相信见到过挑着担子卖豆浆的人就会给出一个更详细的答案了,先用水侵泡黄豆一夜,然后在器皿中充分捣碎,再用中火一直煮,并且要不断搅拌,直至浮沫消失,豆浆才做成了. 听到这个答案,很多人就会惊讶了,这么麻烦啊,还是有豆浆机方便.现在我提出一个问题,如果停电了,如果豆浆机坏了,如果你没有钱去买豆浆机

(android 地图实战开发)2 创建MapActivity,根据设备当前位置,显示地图

(android 地图实战开发)2 创建MapActivity,根据设备当前位置,显示地图 http://www.cnblogs.com/macroxu-1982/archive/2011/09/13/2174657.html 实现效果: 获取手机gps当前的位置,显示位置对于的google地图. 具体的步骤: 1 Step One  创建包含MapView控件的应用界面 <com.google.android.maps.MapView android:layout_width="fill

Qt 3D教程(二)初步显示3D的内容

Qt3D教程(二)初步显示3D的内容 前一篇很easy,全然就没有牵涉到3D的内容,它仅仅是我们搭建3D应用的基本框架而已,而这一篇.我们将要利用它来初步地显示3D的内容了! 本次目的是将程序中间的内容替换成3D的视图,而这一切也只是十几行代码.要不我们来试一试吧! 蒋彩阳原创文章,首发地址:http://blog.csdn.net/gamesdev/article/details/47131099.欢迎同行前来探讨. 首先我们须要对我们的MainWindow.cpp文件进行改动,在此基础上加入