Marble 绘制线

#include <QtGui/QApplication>
#include <marble/MarbleWidget.h>
#include <marble/GeoPainter.h>
#include <marble/GeoDataLineString.h>

using namespace Marble;

class MyMarbleWidget : public MarbleWidget
{
    public:
    virtual void customPaint(GeoPainter* painter);
};

void MyMarbleWidget::customPaint(GeoPainter* painter) {

    GeoDataCoordinates France( 2.2, 48.52, 0.0, GeoDataCoordinates::Degree );
    painter->setPen( QColor( 0, 0, 0 ) );
    painter->drawText( France, "France" );

    GeoDataCoordinates Canada( -77.02, 48.52, 0.0, GeoDataCoordinates::Degree );
    painter->setPen( QColor( 0, 0, 0 ) );
    painter->drawText( Canada, "Canada" );

    //A line from France to Canada without tessellation

    GeoDataLineString shapeNoTessellation( NoTessellation );
    shapeNoTessellation << France << Canada;

    painter->setPen( oxygenSkyBlue4 );
    painter->drawPolyline( shapeNoTessellation );

    //The same line, but with tessellation

    GeoDataLineString shapeTessellate( Tessellate );
    shapeTessellate << France << Canada;

    painter->setPen( oxygenBrickRed4 );
    painter->drawPolyline( shapeTessellate );

    //Now following the latitude circles

    GeoDataLineString shapeLatitudeCircle( RespectLatitudeCircle | Tessellate );
    shapeLatitudeCircle << France << Canada;

    painter->setPen( oxygenForestGreen4 );
    painter->drawPolyline( shapeLatitudeCircle );
}

int main(int argc, char** argv) {

    QApplication app(argc,argv);

    // Create a Marble QWidget without a parent
    MarbleWidget *mapWidget = new MyMarbleWidget();

    // Load the OpenStreetMap map
    mapWidget->setMapThemeId("earth/plain/plain.dgml");

    mapWidget->show();

    return app.exec();
}
时间: 2024-11-05 06:15:05

Marble 绘制线的相关文章

iOS Quartz2D绘制线、矩形、弧、圆、文字、图片

利用Quartz2D中提供的图层上下文 Layer Graphics Context,进行简单绘制线.矩形.弧.圆.文字.图片 在storyBoard中得拖入控制器,添加多个UIView控件,并把各个UIView的class修改为自定义的类. 如: 绘制线: // // HJLineView.m // 画线三角矩形圆 // // Created by HJiang on 15/1/2. // Copyright (c) 2015年 HJiang. All rights reserved. //

Unity实现绘制线断一 ————利用LineRenderer组件划线的两种方式

这几天,做项目的时候需要用到绘制线的功能,我之前做过划线的功能,总体来说就是三种方式,一种是LineRenderer组件,第二种是GL绘制线,第三种就是Vectrosity插件,他可以绘制各种各图形, 1.首先来说一下LineRenderer组件划线的方式,他需要添加LineRenderer组件,也就需要创建空对象,还的创建Plane,在Plane上画线. 第一种方式:  #region  ---- 划线     GameObject line;     LineRenderer wire;  

DotSpatial 自定义MapFunction_mapMain中绘制线(未添加到图层中)

using DotSpatial.Controls; using DotSpatial.Symbology; using GeoAPI.Geometries; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; name

android高德地图绘制线 渐变处理

这个是为了实现淘宝物流轨迹的那种样式,轨迹路线是渐变色. 先说下物流轨迹实现流程. 1.高德地图3d.导航.搜索三个sdk的支持 2.通过导航获取一条路径,这个路径包含的点相当多,可能有上万个. 3.利用路径中的点划线,划线的点和导航提供的点是用的格式不一样,需要简单转换一下. 4.使用android自带的api “ArgbEvaluator”来计算每个点的颜色值. 5.把所有的颜色值放进一个数组,然后使用.colorValues(colorList).useGradient(true)这两个设

Unity实现绘制线断二-----用GL画矩形线框

今天有点时间,才记起来上一次写的画线框,接着上一节画线,我们这节来看一下GL画线 直接上代码 using UnityEngine; using System.Collections; using System.Collections.Generic; public class joint{       public Vector3 org;       public Vector3 end;   }   public class example : MonoBehaviour {     Eve

unity绘制线和绘制面

绘制线条代码,其实就是指定至少两个点,然后赋予贴图即可,不废话,上代码: using UnityEngine; using System.Collections; public class LineT_1 : MonoBehaviour { private LineRenderer lineRender; private int lineLenght=4; private Vector3 v0 =new Vector3(1.0f,0f,0f); private Vector3 v1= new V

[3D]绘制线

数据实体: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Drawing; 6 using SlimDX; 7 using RGeos.SlimScene.Core; 8 9 namespace RGeos.Framework.OTL.Geometries 10 { 11 12 /// <summary> 13 /// Li

【VB6 GDI+进阶】通过拼接圆弧和线绘制圆角矩形

GDI+中没有直接绘制圆角矩形的函数.本篇将详细介绍如何通过拼接圆弧和线绘制圆角矩形,结尾附封装好的函数,可以直接调用. 1.GdipDrawArcI(绘制圆弧) 函数声明如下: Public Declare Function GdipDrawArcI _ Lib "gdiplus" (ByVal graphics As Long, _ ByVal Pen As Long, _ ByVal X As Long, _ ByVal Y As Long, _ ByVal Width As L

OpenGL ES 3.0 点,线,三角形绘制形式总结

OpenGL ES 3.0 顶点     -1,  1, 0, -0.5f,  0, 0,     0, -1, 0,    -1,  0, 0, 0.5f,   0, 0,     1, -1,  0 顶点设置成了大小20 public static final String vertex3 = "#version 300 es \n" + "uniform mat4 uMVPMatrix;\n" + "layout(location = 0) in v