如何跟踪Facebook当前用户的位置IOS / Android

时间:2016-12-04 14:17:41

标签: android ios

有没有什么方法可以实时跟踪Facebook的用户位置谁登录我的移动应用程序并启用了位置服务,并且还授权访问我的应用程序以便利用其位置?

  1. 假设用户X和空间中的3个线性点:A,B,C。 X从A到C旅行。

  2. 当X从A移动到C时,是否有一个SDK可以让我在任何给定时间检查X的实时位置(纬度+经度),以便创建一个虚线地图(通过丢弃一个引脚)地图)用户每隔10ms的位置?

  3. 鉴于我的设备有4G互联网连接这是否可行?

1 个答案:

答案 0 :(得分:1)

我认为您可以在行驶数米后使用CLLocationManager更新用户位置。我认为你已经有了一个CLLocationManager来更新你的位置?你可以将点保存在一个数组中(从A的位置开始,以C的位置结束)。然后,您可以使用点画一条线。我相信Google Map API有一种绘制线的方法。这里有一个答案:

Here is a link from SO

但是为了提供代码,我将在Swift 3.0中为您提供(链接中的代码在ObjC中):

override func viewDidLoad() {
    super.viewDidLoad()
    //This is a dummy location, you'd add locations to it using the 
    //  func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
    let location:CLLocation = CLLocation(latitude: 200, longitude: 100)
    let locationArray:Array<CLLocation> = [location]
    let camera:GMSCameraPosition = GMSCameraPosition.camera(withLatitude: (locationArray.first?.coordinate.latitude)!, longitude: (locationArray.first?.coordinate.longitude)!, zoom: 2)
    //You can obtain the Lat and Long for above from the list of arrays of locations you saved
    //You can use the .first or .last on the array (I used first)

    let mapview:GMSMapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)

    let path:GMSMutablePath = GMSMutablePath()
    for nextLocation in locationArray {
        if locationArray.index(of: nextLocation) != 0 {
            //You dont want to use the first one as you've already done it
            //so you start with 1
            path.addLatitude(nextLocation.coordinate.latitude, longitude: nextLocation.coordinate.longitude)
        }
    }

    let polyline:GMSPolyline = GMSPolyline(path: path)
    polyline.strokeColor = UIColor.red
    polyline.strokeWidth = 2
    polyline.map = mapview
    self.view = mapview

    //I personally prefer view.addSubview(mapview)
}