jjzjj

mkpolygon

全部标签

objective-c - 计算 union 2 MKPolygons

我正在使用多边形MKOverlays开发map应用程序。我需要合并(合并)重叠的多边形。是否有众所周知的算法可以做到这一点?是否有任何免费的现有库/实现可以帮助进行此类几何操作?我找到了GEOS库,但显然它的许可条款不允许在不分发源代码的情况下使用。还有其他人在使用这个库吗?如果是,我在哪里可以找到将其包含在我的Xcode项目中的方法。 最佳答案 我所知道的唯一免费库是-快船:http://angusj.com/delphi/clipper.php增强多边形:http://www.boost.org/doc/libs/1_47_0/

ios - MKMapView 在添加新覆盖层时覆盖重绘(闪烁)。 MKPolyLines 是锯齿状的

我正在MKMapView上测试一些基本的绘图功能,但我遇到了一些奇怪的事情。您可以引用下面的保管箱链接。这是在实际设备上运行和测试的,而不是模拟器。您会注意到一些MKPolyLines在连接时呈锯齿状,而另一些则没有。这是什么原因,可以纠正吗?我没有看到任何设置抗锯齿的选项。我认为最右边的多边形是您最能看到的。但总的来说,有些线条似乎比其他线条更流畅。此屏幕截图未显示的另一件事是,每次我点击View以添加新叠加层时,map上的所有叠加层都会“闪烁”,就好像它们正在重绘或可能没有快速重绘一样足够。想知道这是什么原因,或者也许我应该做一些我不知道的事情来防止这种情况发生。还有一个关于委托(

iOS - 如何使用私有(private)方法创建类别

我正在为MKPolygon类创建一个类别。您可以找到对此类的引用here.我有两个要公开的公共(public)类方法和一些处理某些内部结构的“私有(private)”方法。我想要这样做的原因是因为,如您所见,可用于此类的方法是类方法,我想通过提供将返回的类方法(MKPolygon*)继续与此保持一致。此外,我将编写大量工作,不分解任务将违背良好的编码实践,当然也难以测试和阅读——这一点尤其重要,因为我将把它贡献给github。这是我在XCode中创建新类别时创建的头文件和实现文件。我现在打算使这些方法通用化以表达我的观点:MKPolygon+MKPolygonStuff.h#impor

iphone - 使用 MapKit 显示特定区域

我想知道是否可以使用MapKit仅在map上显示特定区域而不是完整的世界地图。就像如果我想在我的应用程序中显示亚洲map,map工具包会隐藏map的剩余部分。 最佳答案 要处理“map工具包隐藏map的剩余部分”要求,您可以做的一件事是创建一个覆盖整个世界的黑色多边形叠加层,并在亚洲(或您喜欢的任何地方)上进行裁剪。例如,您在何处初始化map(例如,在viewDidLoad中):CLLocationCoordinate2DasiaCoords[4]={{55,60},{55,150},{0,150},{0,60}};//change

ios - 具有多个覆盖内存问题的 MKMapView

叠加层和MapKit似乎存在“问题”。与注释不同,叠加不会被重用,因此当添加多个叠加时会导致真实设备上的内存问题。我多次遇到这个问题。所以我的问题是,我如何重用MKOverlay并因此提高MapKit上的叠加层的性能? 最佳答案 对此的答案不是“重用”,而是将它们全部绘制到一个MKOverlayView中,然后将其绘制在map上。多个MKPolygons、MKOverlays等在map上绘制时会导致大量内存使用。这是由于MapKit没有重用叠加层。由于注释具有reuseWithIdentifier,而覆盖却没有。每个叠加层都会在ma

美国所有州的 iOS 覆盖 (MKPolygon) 数据?

在DisplayingOverlaysonaMap节iOSDeveloperLibraryLocationAwarenessProgrammingGuide,有一个示例“显示覆盖科罗拉多州的填充和描边叠加层。”//DefineanoverlaythatcoversColorado.CLLocationCoordinate2Dpoints[4];points[0]=CLLocationCoordinate2DMake(41.000512,-109.050116);points[1]=CLLocationCoordinate2DMake(41.002371,-102.052066);poi

Swift MapKit - 创建一个多边形

我想在我的map上创建一个多边形来显示边界。但是当我运行我的应用程序时,什么也没有出现。我可以看到map,但看不到多边形我的错误是什么?谢谢。importUIKitimportMapKitimportCoreLocationclassMapScreen:UIViewController{@IBOutletvarmapView:MKMapView!overridefuncviewDidLoad(){super.viewDidLoad()//Doanyadditionalsetupafterloadingtheview,typicallyfromanib.mapView.delegate=

ios - MKPolygon - 如何确定 CLLocationCoordinate2D 是否在 CLLocationCoordinate2D 多边形中?

我有下面的swift代码,它绘制一个多边形并在MKMapView上放置一个注释。我想弄清楚如何确定注释的坐标是否在多边形内?importUIKitimportMapKitclassViewController:UIViewController{@IBOutletweakvarmapView:MKMapView!overridefuncviewDidLoad(){super.viewDidLoad()letinitialLocation=CLLocation(latitude:49.140838,longitude:-123.127886)centerMapOnLocation(init

ios - MKPolygon 初始化错误 "Missing argument for parameter ' interiorPolygons' in call"/"Extra argument in call"

我正在尝试转换MapKitMKPolygon中的Objective-C代码,引用Listing6-9进入swift。当我调用函数时init(coordinates:count:)初始化函数,我得到错误:Missingargumentforparameter'interiorPolygons'incall当我使用interiorPolygons参数调用该函数时,出现错误:Extraargumentincall这是我正在使用的代码。varpoints:[CLLocationCoordinate2D]=[CLLocationCoordinate2D]()points[0]=CLLocatio

ios - MKPolygon 面积计算 Swift

我一直在尝试对MKPolygon进行计算,我已经点击了此处的几个链接并进行了相应的调整。我似乎无法正确计算平方米。如果需要,我可以提供更多信息这是我的代码funcpolygonArea()->Double{vararea:Double=0varkEarthRadius:Double=6378137varcoord:NSArray=self.coordinates()if(coord.count>2){varp1,p2,p3:CLLocationCoordinate2DvarlowerIndex,middleIndex,upperIndex:Intforvari=0;i我专门点击了这个链