- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的目的是做与 Facebook 应用程序完全相同的事情。这是我当前的代码:
class MapFilterViewController: UIViewController, CLLocationManagerDelegate {
@IBOutlet weak var mapView: MKMapView!
@IBOutlet weak var distanceSlider: UISlider!
@IBOutlet weak var distanceLabel: UILabel!
@IBOutlet weak var applyButton: UIButton!
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
applyButton.layer.cornerRadius = 5
locationManager.delegate = self
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()
mapView.delegate = self
}
func showCircle(coordinate: CLLocationCoordinate2D, radius: CLLocationDistance, mapView: MKMapView) {
let circle = MKCircle(center: coordinate, radius: radius)
mapView.add(circle)
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations.last as! CLLocation
let center = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude)
let span = MKCoordinateSpanMake(0.05, 0.05)
let region = MKCoordinateRegion(center : center, span : span)
print("longitude = \(location.coordinate.longitude), latitude = \(location.coordinate.latitude)")
mapView.setRegion(region, animated: true)
mapView.showsUserLocation = true
showCircle(coordinate: location.coordinate, radius: 1000, mapView: mapView)
print(location.coordinate)
}
@IBAction func sliderValueChange(_ sender: Any) {
distanceLabel.text = String(distanceSlider.value) + " km"
}
我不明白如何在 sliderValueChange 操作中获取圆的半径并获得相同的动画
已经搜索了很多,大部分结果都是 Objective-C 的,我现在已经学习 Swift 3 周了。
感谢您的帮助
最佳答案
我认为最简单的方法是删除圆圈并创建一个新圆圈(因为您无法修改圆圈的半径)。
这里是一些您可以使用的代码:
var circle: MKCircle?
@IBAction func sliderValueChange(_ sender: UISlider) {
mapView.remove(circle)
let newRadius = sender.value * 1000
circle = MKCircle(center: coordinate, radius: radius)
mapView.add(circle)
}
当你学习时,我认为你应该从类似的事情开始。您也可以尝试调整叠加层的比例,但我认为这会更复杂一些,而且我不确定结果会好得多。
关于swift - 使用 slider SWIFT4 调整 MKCircle 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49045636/
我必须将 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 的周边会出现明显
我是一名优秀的程序员,十分优秀!