- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个小型 map 应用程序,我希望有一个按钮可以删除掉落到 map 上的所有图钉(内存)。
到目前为止,我有用于管理位置的代码:
// Location function
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations.last
let center = CLLocationCoordinate2D(latitude: location!.coordinate.latitude, longitude: location!.coordinate.longitude)
let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.004, longitudeDelta: 0.004))
self.placesMap?.setRegion(region, animated: true)
self.locationManager.stopUpdatingLocation()
let locationDictionary:[String:Double] = ["latitude":center.latitude,"longitude":center.longitude]
var locationArray = [[String:Double]]()
if NSUserDefaults.standardUserDefaults().objectForKey("locationArray") != nil {
locationArray = NSUserDefaults.standardUserDefaults().objectForKey("locationArray") as! [[String:Double]]
}
locationArray.append(locationDictionary)
NSUserDefaults.standardUserDefaults().setObject(locationArray, forKey: "locationArray")
NSUserDefaults.standardUserDefaults().synchronize()
}
func locationManager(manager: CLLocationManager, didFailWithError error: NSError)
{
print("Error code: " + error.localizedDescription)
}
这是放置图钉的按钮:
@IBOutlet weak var addButton: UIBarButtonItem!
@IBAction func addButton(sender: AnyObject) {
let annotation = MKPointAnnotation()
annotation.coordinate = CLLocationCoordinate2D(latitude: self.placesMap.userLocation.coordinate.latitude, longitude: self.placesMap.userLocation.coordinate.longitude)
self.placesMap.addAnnotation(annotation)
self.locationManager.startUpdatingLocation()
}
这里是重置引脚的导出/ Action :
@IBAction func resetMemories(sender: AnyObject) {
func removeStoredLocations(){
NSUserDefaults.standardUserDefaults().removeObjectForKey("locationArray")
NSUserDefaults.standardUserDefaults().synchronize()
placesMap.removeAnnotations(placesMap.annotations)
}
}
当我按下按钮时,当前没有发生错误,但图钉仍保留在 map 上:(
最佳答案
在您的resetMemories
IBAction
中,您创建了一个嵌套函数removeStoredLocations
。然后你永远不会调用那个嵌套函数,所以代码永远不会被执行。我建议去掉嵌套函数:
@IBAction func resetMemories(sender: AnyObject)
{
NSUserDefaults.standardUserDefaults().removeObjectForKey("locationArray")
NSUserDefaults.standardUserDefaults().synchronize()
let annotationsToRemove = placesMap.annotations.filter
{
$0 !== placesMap.userLocation
}
placesMap.removeAnnotations( annotationsToRemove )
}
或者,如果你真的想要一个嵌套函数,你必须调用它:
@IBAction func resetMemories(sender: AnyObject)
{
//Define our local function removeStoredLocations().
func removeStoredLocations()
{
NSUserDefaults.standardUserDefaults().removeObjectForKey("locationArray")
NSUserDefaults.standardUserDefaults().synchronize()
let annotationsToRemove = placesMap.annotations.filter
{
$0 !== placesMap.userLocation
}
placesMap.removeAnnotations( annotationsToRemove )
}
//Now that we've defined our local function, call it.
removeStoredLocations()
}
Jthomps 是对的。您应该使用他的代码,该代码不会删除用户位置的注释。我正在编辑上面的代码以合并他的代码。
关于ios - 使用按钮 Swift 删除 map 图钉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36824399/
我想绘制一个 Bing map ,它采用纬度和经度值并在 map 上绘制图钉。目前我只是使用一些测试数据,因为我才刚刚开始学习 API。下面的代码绘制了一张 map ,但没有向其中添加任何图钉。我似乎
我正在开发一个包含 MapKit 的应用程序。当第一张 map 加载时,pin 将位于预定义的位置。而此时pin的draggable属性设置为NO。现在我想做这个..当用户按下按钮编辑时,它将允许用户
我有一个条件语句,可以在下面的方法中添加 map 注释图标/图钉。我遇到的问题是 map 上填充了所有相同的图标。它应该检测猫 ID 并根据检测到的猫 ID 显示图标。我不确定问题出在哪里,因为这在
我正在制作一个 iOS 应用程序,用户可以在其中放置一个图钉 (CLLocation) 在 map 上,并且该点 x 英里范围内的所有其他用户都可以在 map 上看到它。我怎样才能做到这一点? 最佳答
我有一个 map 应用程序,当用户移动到某些位置时,它会插入 map 图钉,我的问题是如何计算用户经过或去过同一地点的次数。 在以下示例中有: 用户已到过地点 A (纬度、经度)五次。 这是我到目前为
这里我有两个观点: WallViewController TableViewController WallViewController 包含 MKMapView,TableViewController
在 MKMapView 上,您可以显示用户位置。蓝色用户位置点周围是一种“蓝色光环”,代表准确性。如何将它添加到我自己的应用程序中,但围绕一个引脚? pin 的位置来自那里使用 CoreLocatio
我一直在尝试制作一个应用程序,当按下标记调查结果按钮时, map 图钉会在用户的当前位置弹出。 问题是,每当我在 IBAction 中调用 DidUpdateLocations 时, map 注释永远
我有这个代码可以在谷歌地图上显示多个地址。 问题是,当页面首次加载时, map 显示蓝色的大海并且不对地址进行地理编码,我想它正在使用 0,0 的经纬度。 当我重新加载页面时,它会找到地址并将其显示在
我有一个带有大量图钉的 map View ,每个图钉都有唯一的注释。该 map 还显示了用户位置的脉动蓝点。到目前为止,我只能确定是否触摸了一个引脚,但不能确定被触摸的特定引脚。 如何确定用户触摸的
我正在尝试创建一个搜索栏,用于过滤掉列表中与搜索查询不匹配的项目。我试图添加的附加功能是,如果它与搜索查询不匹配,它也会从 map 中删除图钉。 这就是我现在拥有的,它适用于删除页面顶部的名称,但我喜
我是 Maps Concept 的新手。 请一次找到所附图片。 当我单击“图钉”时,我收到的消息是“欣赏你的微笑”或任何文字......现在我想......当我们选择表格 View 时,我需要为此提出
我在我的应用程序中使用谷歌地图 api。我的应用程序中有两个按钮。第一个按钮在我的 map 中添加了一个标记(图钉)。 现在我想要第二个按钮将添加的图钉水平移动到页面中心,并使其移动到页面顶部的 25
我正在尝试创建一个自定义引脚,该引脚的中心有一个标签,该标签会随每个引脚而变化。标签只是引脚编号,因此如果我有 8 个引脚,每个引脚都会在中心有一个数字,即第一个引脚将有 1,第二个引脚将有 2,依此
我正在尝试显示带有坐标数组的 map View 。所以,我从包含这些的数组中加载纬度和经度。它显示完美。现在,我想用不同的颜色图钉显示一个特定的纬度和经度。我提到了this answer我看不出有什么
服务器响应每 5 秒更新一次坐标。我将这个坐标像图钉一样添加到 map 中。但是当前对象的现有坐标不会删除,它只是添加为新坐标。如何更新当前对象的坐标并删除暂时没有坐标的对象? 我使用原生 map 。
在我的应用程序中,我使用 json 从 Web 服务下载一组点。将应用程序实现到 iOS7,我正在试验这个问题:位置已下载,但在用户触摸并“移动” map 之前不会绘制 map 上的图钉。然后它们出现
我知道这是一个经常被问到的问题。一段时间以来,我一直在阅读这里的许多问题。我希望有人能有一种更简单的方法,使用我必须用图像替换 map 上的图钉的代码。我对 objective-c 还是很陌生。我的代
mapbox 的文档中有两个相关示例: Change Marker Color on Click和 Draggable Marker 但是他们以非常不同的方式创建标记。 方法A: 在“单击时更改标记颜
我正在将注释加载到我的 map View 上。加载 map 时,注释显示为图钉。 但是,标题和副标题不会自动出现在图钉上。目前,用户需要在标题显示之前点击图钉。 有没有办法让标题在加载 map 时自动
我是一名优秀的程序员,十分优秀!