【发布时间】:2017-09-04 15:59:52
【问题描述】:
我正在实现一个“在我周围搜索”功能,类似于可以在谷歌地图上找到的功能。我有一个名为“locations”的数组,其中填充了如下值:
mapPoints(Borough: "Manhattan", Neighborhood: "Battery Park City", Latitude: 40.7117, Longitude: -74.0158),
函数“myPlaces()”是实现“搜索我”功能的地方。当按下按钮时,“myPlaces()”被触发。里面是 func myPlaces(){
for location in locations{
let userLocation = mapView.userLocation
let userLat = userLocation?.coordinate.latitude
let userLong = userLocation?.coordinate.longitude
let coordinateOne = CLLocation(latitude: userLat!, longitude: userLong!)
let coordinateTwo = CLLocation(latitude: location.latitude, longitude: location.longitude)
let distanceFromPoints = coordinateOne.distance(from: coordinateTwo)
let convertToMiles = distanceFromPoints*0.00062137
if convertToMiles >= 2 {
print("It's greater than set amount")
} else{
let annotation = MGLPointAnnotation()
filteredLocations = locations
print("amount to come out", filteredLocations.count)
annotation.title = location.Neighborhood
annotation.coordinate = CLLocationCoordinate2D(latitude: location.latitude, longitude: location.longitude)
mapView.addAnnotation(annotation)
mapView.setCenter((mapView.userLocation?.coordinate)!, zoomLevel: 11, animated: true)
}
}
animateOut()
}
现在的问题是我需要取小于 2 的值,并将它们放在一个名为“filteredLocationsmapPoints”的新数组中,这样我就可以在我的其余代码中访问它们
【问题讨论】:
标签: ios arrays swift sorting filter