Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 我应该如何设计显示动态地图?(坐标和线)_Objective C_Opengl_Core Graphics_Nsview - Fatal编程技术网

Objective c 我应该如何设计显示动态地图?(坐标和线)

Objective c 我应该如何设计显示动态地图?(坐标和线),objective-c,opengl,core-graphics,nsview,Objective C,Opengl,Core Graphics,Nsview,所以我想要一个视图(NSView,NSOpenGLView,与CG相关的东西?),它基本上显示一张地图。例如: 显然,这看起来很可怕,但我使用NSView绘制,绘制速度非常慢。显然不是为这个设计的 我只需要允许用户单击单个(x,y)坐标进行更改,并放大到某个区域(以便更好地查看) 我应该走OpenGL路线吗?如果是的话,有什么关于如何开始的建议吗?(我能够按照向导画一个三角形,所以这很好) 我确实在NSView中找到了这篇关于缩放的帖子: 我担心的是,如果我画了6000多个坐标和连接它们的线,

所以我想要一个视图(NSView,NSOpenGLView,与CG相关的东西?),它基本上显示一张地图。例如:

显然,这看起来很可怕,但我使用NSView绘制,绘制速度非常慢。显然不是为这个设计的

我只需要允许用户单击单个(x,y)坐标进行更改,并放大到某个区域(以便更好地查看)

我应该走OpenGL路线吗?如果是的话,有什么关于如何开始的建议吗?(我能够按照向导画一个三角形,所以这很好)

我确实在NSView中找到了这篇关于缩放的帖子:


我担心的是,如果我画了6000多个坐标和连接它们的线,这根本没有效率。

我认为使用OpenGL在这里没有任何好处。问题似乎不是实际的绘画,而是渲染策略。您需要某种场景图来动态处理细节级别和消隐。 Qt将所有这些都打包在一个很好的类中
qgraphicscene
(参见以获取参考,并获取示例)

你应该考虑的一些基本概念:


尝试使用核心图形进行此操作,确实有很多事情可以做。观看WWDC 2011为iOS开发者绘制的视频实用图,它应该给出CG可以做什么的概览

我相信,即使是CoreGraphics也足以满足您想要实现的目标,如果您完全在UIView的DrawRect方法下绘制视图的矩形(您必须重载此方法),那么在UIView下也应该可以。请看地图。我有一个移动应用程序,它可以在UIMapKit上记录点,有点像Nike+,它当然可以很好地处理大量的点/线段。没有理由认为这种简单的方法不能同样适用于您。

您可以非常快速地建立Quartz2D程序,或者使用OpenGL获得最大的灵活性。相关:ESRI GIS API for iOS