#include<iostream>
#include<fstream>//文本读写头文件
#include<vector>//在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。
#include<GL/glut.h>
using namespace std;
class MapPoint//声明一个名为MapPoint的类
{
public:
double longitude;//数据成员 经度
double latitude;//纬度
};
class Polygon
{
public:
vector<MapPoint>points; //多边形的顶点序列
};
vector<Polygon*> polys;  //多边形集合
vector<Polygon*> ReadMapData(char* filename)//文件名
{
int PointCount;//计算点的个数
vector<Polygon*>polygons;
ifstream fs(filename);//寻找filename文件是否为空
while (fs.eof() != true)
{
Polygon* poly = new Polygon;//定点个数
fs >> PointCount;//定点个数赋值给fs
cout << PointCount << endl;
for (int i = 0; i < PointCount; i++)//做循环,定义p
{
MapPoint p;//地图名
fs >> p.longitude >> p.latitude;
poly->points.push_back(p);

}
polygons.push_back(poly);
}
return polygons;
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT); //用蓝色色绘制各省边界
glColor3f(0.0, 0.0, 1.0);//设置正面为填充模式
glPolygonMode(GL_BACK, GL_LINE);
for (int i = 0; i < polys.size(); i++)
{
vector<MapPoint>points = polys[i]->points;
glBegin(GL_LINE_LOOP);//使用闭合曲线方式绘制各省边界
for (int j = 0; j < points.size(); j++)
{
glVertex3f(points[j].longitude, points[j].latitude, 0.0);
}
glEnd();
}
glFlush();
}
void init(void)
{
glClearColor(1.0, 1.0, 1.0, 1.0);//设置背景颜色//初始化观察值
glMatrixMode(GL_PROJECTION);//将矩阵模式设为投影
glLoadIdentity();//对矩阵进行单位化
glOrtho(70.0, 140.0, 0.0, 60.0, -1.0, 1.0); //构造平行投影矩阵

}
int main(int argc,char *argv[])
{
char*filename = "D:HENG.txt";//文件名与文件目录对应
polys = ReadMapData(filename);//读定义的文件给polys
glutInit(&argc, argv);//初始化
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//单缓存和RGB
glutInitWindowSize(250, 250);//窗口大小
glutInitWindowPosition(100, 100);//窗口位置
glutCreateWindow("hello");//窗口标题
init();
glutDisplayFunc(display); //显示回调函数
glutMainLoop();//进行消息循环
return 0;

}

Opengl绘制地图相关推荐

  1. BaiduMap---百度地图官方Demo之OpenGL绘制功能(介绍如何使用OpenGL绘制在地图中进行绘制)

    <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&q ...

  2. android opengl 百度地图,androidsdk | 百度地图API SDK

    更新时间:2020-06-23 OpenGL绘制(绘制3D模型) 百度地图SDK为开发者开放了OpenGL绘制接口,以帮助开发者在地图上实现灵活的样式绘制,丰富地图的显示效果和使用体验. 自V4.2. ...

  3. 如何用 OpenGL 绘制雪花?

    作者 | 许向武 责编 | 张红月 出品 | CSDN博客 看冬奥才知道,阿勒泰不但是中国的"雪都",还是"人类滑雪起源地".这个说法是否成立,姑且不论,阿勒泰 ...

  4. 使用OpenGL绘制圆环体(Torus)

    本篇介绍一下使用OpenGL绘制圆环体的方法.程序是在C#和OpenTK环境下编译的. 代码: /// <summary> /// 绘制圆环体 /// </summary> / ...

  5. 【OpenGL】十三、OpenGL 绘制三角形 ( 绘制单个三角形 | 三角形绘制顺序 | 绘制多个三角形 )

    文章目录 一.绘制三角形 二.三角形绘制顺序 1.绘制正面 2.三个点逆时针方向排列 3.三个点顺时针方向排列 4.设置点的正面方向 三.绘制多个三角形 四.相关资源 一.绘制三角形 三角形绘制即绘制 ...

  6. 【OpenGL】十一、OpenGL 绘制多个点 ( 绘制单个点 | 绘制多个点 )

    文章目录 一.绘制单个点 二.绘制多个点 三.相关资源 在上一篇博客 [OpenGL]十.OpenGL 绘制点 ( 初始化 OpenGL 矩阵 | 设置投影矩阵 | 设置模型视图矩阵 | 绘制点 | ...

  7. 【OpenGL】十、OpenGL 绘制点 ( 初始化 OpenGL 矩阵 | 设置投影矩阵 | 设置模型视图矩阵 | 绘制点 | 清除缓冲区 | 设置当前颜色值 | 设置点大小 | 绘制点 )

    文章目录 一.初始化 OpenGL 矩阵 1.设置投影矩阵 2.设置模型视图矩阵 二.绘制点 1.清除缓冲区 2.设置当前颜色值 3.设置绘制点的大小 4.绘制点 5.将缓冲区绘制到前台 三.部分代码 ...

  8. 【OpenGL】九、OpenGL 绘制基础 ( OpenGL 状态机概念 | OpenGL 矩阵概念 )

    文章目录 一.OpenGL 状态机概念 二.OpenGL 矩阵概念 上一篇博客 [OpenGL]八.初始化 OpenGL 渲染环境 ( 导入 OpenGL 头文件 | 链接 OpenGL 库 | 将窗 ...

  9. Python之pyecharts:利用pyecharts绘制地图十多个地区流动轨迹动态图

    Python之pyecharts:利用pyecharts绘制地图十多个地区流动轨迹动态图 目录 利用pyecharts绘制地图十多个地区流动轨迹动态图 Geo(GeoChartBase)函数 相关文章 ...

最新文章

  1. 《Unix网络编程卷1-套接字联网API》第一个例子编译 不通过问题解决
  2. 微服务架构及其最重要的 10 个设计模式!
  3. 二章: CentOS6.5 连接FTP服务器、部署telnet服务、安装SCP、服务端FTP、SFTP部署
  4. linux 0.11 内核学习 -- rs_io.s,串口汇编代码
  5. mysql行级安全_MySQL学习笔记(五):MySQL表级锁和行级锁
  6. 管理你的代码——Git学习(一)
  7. html设置百度协议,网站HTML结构SEO要求说明(含移动站)
  8. java main方法里调用mapper
  9. .net core学习
  10. 怎样用计算机记账,仓管员怎么用电脑记账?简单实用的电脑操作方式一览!
  11. 分库分表解决方案之ShardingSphere
  12. Spring Security 中的执行原理流程分析
  13. 好用且种类多的Unity3d游戏特效素材推荐,都在这里
  14. Linux开发板循环显示红绿蓝
  15. R语言:方差分析,单因素方差分析,单个协变量的单因素方差分析,双因素方差分析,多元方差分析
  16. iPhone启动页尺寸
  17. 抛出异常关键字throw与定义异常关键字throws
  18. gazebo设置_gazebo的学习与使用
  19. 如何用MATLAB把一个三维矩阵里的数据中的一页画成三维图并加密网格
  20. win7中能对窗口的排列方法是_win7系统窗口智能排列的操作方法

热门文章

  1. SG-UAP平台 : MX框架总结
  2. EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES 论文笔记
  3. 【漫画科普】什么是POL?什么是全光?
  4. android 后台运行 保活
  5. 每个初学JAVA者都应该搞懂的问题
  6. 我国成功发射第七颗北斗导航卫星
  7. Velocity模板语言(VTL):说明
  8. 老司机 iOS 周报 #66 | 2019-05-06
  9. 如何使用阿里云服务器快速搭建个人网站?
  10. dx.jar bad class file magic (cafebabe) or version (0034.0000)