- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我必须将 MKCicle 绘制到 MKMapView 中。然后我必须在用户通过 slider 更改半径时重新绘制它。我删除它并重新创建它,将它重新添加到 map 中。但是我看到 MKCircle 在 map 上平移,并保持相同的大小,而不是像我期望的那样。
这是我的代码:
- (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;
self.circleView.lineWidth = 2;
}
overlayView = self.circleView;
}
return overlayView;
}
-(void)drawPolygonWithLocation
{
[self.mapView removeOverlay: self.circle];
MKCoordinateRegion region;
region.center.latitude = self.geofenceLocation.latitude;
region.center.longitude = self.geofenceLocation.longitude;
region.span.latitudeDelta = 0.005;
region.span.longitudeDelta = 0.005;
MKCoordinateRegion adjustedRegion = [self.mapView regionThatFits: region];
[self.mapView setRegion:adjustedRegion animated:TRUE];
self.radius = (double)(slRadius.value);
NSLog(@"Raggio: %f", self.radius);
NSLog(@"Lat: %f, Lon: %f", region.center.latitude, region.center.longitude);
self.circle = [MKCircle circleWithCenterCoordinate:self.geofenceLocation.coordinate radius: self.radius];
NSLog(@"CIRCLE: radius %f Lat: %f, Lon: %f", self.circle.radius, self.circle.coordinate.latitude, self.circle.coordinate.longitude);
[self.mapView addOverlay:self.circle];
}
-(IBAction)updateRadius:(id)sender
{
[self drawPolygonWithLocation];
}
NSLog 正在向控制台写入正确的值,中心不会改变,半径会根据用户输入而改变。但是,MKCircle 再次翻译为向西北方向前进。
提前致谢,塞缪尔·拉比尼
最佳答案
已修复。我只是添加
self.circleView = nil;
之前
[self.mapView addOverlay:self.circle];
以这种方式它工作正常。
塞缪尔
关于ios - MKCircle 没有更新半径但它正在翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8765805/
我必须将 MKCicle 绘制到 MKMapView 中。然后我必须在用户通过 slider 更改半径时重新绘制它。我删除它并重新创建它,将它重新添加到 map 中。但是我看到 MKCircle 在
如何在调整 NSSlider 时平滑地调整 UIMapView 上的 MKCircleView 的大小? Apple 在创建地理围栏 (http://reviewznow.com/wp-content
我找到了如何在 map 注释周围画一个圆圈。我这样做: MKCircle *circle = [MKCircle circleWithCenterCoordinate:theCoordina
我创建了一个绘制 2 个点的 map 显示,并希望创建一个以其中一个点为中心并让圆的边缘通过另一个点的 MKCircle。这应该像创建一个半径等于两个点之间距离的圆并将圆围绕其中一个点居中一样简单。这
我正在尝试在 map 上创建 MKCircle 叠加层,但我希望屏幕上圆圈的大小在用户缩放时保持不变。 因此,当用户放大时,半径会变小,而当用户缩小时,半径会变大。 我正在使用 Swift 3。我应该
假设我有 6 个圆圈。我的计时器在开始时调用前 2 个圆圈并将它们覆盖在 map View 上。然后 2 秒后,它会调用其他圈子并将它们添加到 map View 中。我的问题是如何删除以前的叠加层。我
我在一个使用 MapKit 的项目中工作,我想更新当前用户位置中心的圆圈位置。我可以通过实现这些方法来做到这一点。问题是用户位置在更改其坐标时会动画化,并且不会每次都调用方法 DidUpdateUse
我正在尝试围绕 map 注释绘制 MKCircle。我认为到目前为止代码是正确的,但不确定为什么它不起作用。我相信我拥有它运行所需的所有代码。 func getPlaces(){ let ui
IOS 和 SWIFT 的真正新手。试图在当前位置上覆盖一个圆圈。以下代码生成 map View ,在用户位置放置一个蓝点但不绘制叠加圆圈。请帮忙。 // // ViewController.swi
我的 View 上有一张小 map ,我想将 MKCircle 叠加层拖放到它上面。我在创建监视区域时拥有所有坐标和半径。我想将这个区域显示给用户,这样他们就会知道边界是什么。 对于我的生活,互联网上
我正在 MKMapView 上绘制一个 MKCircle,我需要获取 Circle 边界中的所有点(不是在它内部)以将点坐标发送到服务器并获取与圆圈内区域相关的信息。 另外因为我有圆的中心坐标和半径所
我正在尝试实现一个 MKCircle,它会随着 slider 的变化而增加或减少半径。我遇到的问题是,当重新绘制圆圈时,它一点也不平滑。我已经阅读了其他一些帖子,它们似乎表明您必须创建 MKCircl
我正面临 MKCircle 外观的奇怪行为。基本上我想画一个半径为 8500 公里的圆,圆心是任意的。这是我的代码: private func addCircle() { mapView.re
我想在按钮单击事件中显示 mkcircle。我必须使用圆半径计算 MKMapView 的缩放级别以使圆引人注目。让半径可以是任何大小,但 mkmapview 上的 mkcircle 应该足够大,如截图
我需要的东西(更简单的解释): [完成]获取用户位置并将其显示在 UIMapView 中 [完成]在 UIMapView 中添加围绕用户的圆圈 检测用户是否离开该圈子 这是我的代码 1 和 2: im
我一直在四处寻找关于如何使用 Swift 2.0 为 MapView 制作 MKCircle 注释的良好解释,但我似乎无法找到充分的解释。有人可以发布一些示例代码来展示如何创建 MKCircle 注释
当我尝试在我的 MKMapView 中移动 MKCircle 时,我收到此错误消息:-[MKCircle setCoordinate:] unrecognized selector ..。但根据文档
我需要使用 MKCircle 在 MkMapView 上绘制一个半径为 1.23 米的圆。我将如何在 map 上显示它。我使用了以下内容, r = 1.23;// in metres. cir
我想通过添加另一个字符串属性来继承 MKCircle(例如 MyCircle),我们称它为“code”。这个属性不应该是可选的和常量,所以我必须从初始化程序中设置它,对吗?当然MyCircle也应该得
我有一个 map View ,用户可以选择半径来显示区域。我添加一个 MKCircle 作为叠加层。当半径从 30 英里变为 1 英里时,当 MapView 放大时,MKCircle 的周边会出现明显
我是一名优秀的程序员,十分优秀!