我想使用Swift获取位置的当前经度和纬度,并通过标签显示它们。我尝试执行此操作,但标签上没有任何显示。
import UIKit
import CoreLocation
class ViewController: UIViewController, CLLocationManagerDelegate{
@IBOutlet weak var longitude: UILabel!
@IBOutlet weak var latitude: UILabel!
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
if (CLLocationManager.locationServicesEnabled()) {
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()
} else {
println("Location services are not enabled");
}
}
// MARK: - CoreLocation Delegate Methods
func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!) {
locationManager.stopUpdatingLocation()
removeLoadingView()
if (error) != nil {
print(error)
}
}
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
var locationArray = locations as NSArray
var locationObj = locationArray.lastObject as CLLocation
var coord = locationObj.coordinate
longitude.text = coord.longitude
latitude.text = coord.latitude
longitude.text = "\(coord.longitude)"
latitude.text = "\(coord.latitude)"
}
}
恕我直言,当您寻找的解决方案非常简单时,您就使代码复杂化了。
我已经通过使用以下代码来做到这一点:
首先创建CLLocationManager
和请求授权的实例
var locManager = CLLocationManager()
locManager.requestWhenInUseAuthorization()
然后检查用户是否允许授权。
var currentLocation: CLLocation!
if
CLLocationManager.authorizationStatus() == .authorizedWhenInUse ||
CLLocationManager.authorizationStatus() == .authorizedAlways
{
currentLocation = locManager.location
}
用它来做到这一点
label1.text = "\(currentLocation.coordinate.longitude)"
label2.text = "\(currentLocation.coordinate.latitude)"
您将它们设置为的想法label.text
是正确的,但是我能想到的唯一原因是用户未给予您许可,这就是为什么您当前的位置数据将为零。
但是,您需要调试并告诉我们。另外,CLLocationManagerDelegate
没有必要。
希望这会有所帮助。询问是否有疑问。
问题内容: 在我的应用程序中,我在打开应用程序时获得了当前位置的纬度和经度,但是在关闭应用程序时却没有得到。 我正在使用Service类在应用程序中获取当前位置的纬度和经度。 请告诉我即使关闭应用程序也如何获取当前位置的纬度和经度 问题答案: 几个月前,我创建了GPSTracker库来帮助我获取GPS位置。如果您需要查看GPSTracker> getLocation AndroidManifest
问题内容: 在我的一个php应用程序中,我必须从地址中找出该位置的纬度和经度。 我尝试了这段代码: 但是它显示以下错误: 警告:file_get_contents(http://maps.google.com/maps/api/geocode/json?address=technopark、Trivandrun,喀拉拉邦,印度&sensor = false&region = IND)[functi
本文向大家介绍Android获取当前位置的经纬度数据,包括了Android获取当前位置的经纬度数据的使用技巧和注意事项,需要的朋友参考一下 现在有这么一个需求:开启一个Service服务,获取当前位置的经纬度数据,将获取的数据以广播的方式发送出去,注册广播的Activity接收广播信息,并将接收到的数据在当前Activity显示,如果当前位置发生变化,经纬度数据改变,获取改变后的经纬度数据,通过H
我试图创建一个使用MKMapView打开地图的应用程序,然后通过创建CLLocationManger的委托来查找用户的当前位置。 我已经在下面发布了我的代码。我现在遇到的问题是,尽管打开模拟器时地图确实出现,但它没有从NSLog中给出一个应该经过纬度和经度的位置或新的航向。 我是Objective-C和应用程序开发的新手,有人看到我是否遗漏了ClLocationManager的一些协议吗?谢谢你的
我可以找到当前位置的经纬度,但是这些数据在改变我的当前位置之前是不显示的,我想在不改变我的位置的情况下得到当前位置的经纬度。 因为这段代码从onLocationChanged(Location loc)方法返回数据,所以在安装到我的设备上之后,如果不改变我的位置,我就无法获得数据。但是我需要纬度,经度,而不改变我的位置。这可能吗?请给出一个解决方案
我有一个onCreate的活动,它计算您的位置和附近的事件之间的距离,我使用lastNotnloceto获取当前设备位置并在谷歌地图上标记它,但我需要它来写经度和纬度它的方法之外用于计算距离。 我已经使用LocationManager来获取粗略的坐标,但这些坐标不够准确,对于距离不到半英里的东西来说,距离为50英里。我目前拥有它,因此将覆盖从LocationManager获得的经度和纬度,但它没有