Swift编程:Map View上的多个位置

时间:2016-02-08 04:03:30

标签: swift google-maps maps

我有一个简单的问题,我是IOS的新手 - 我希望在同一张地图上有多个GPS流。请帮忙说明如何做到

当前代码有效:

import UIKit
import MapKit
import CoreLocation

class ViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {

@IBOutlet weak var mapView: MKMapView!

let locationManager = CLLocationManager()

override func viewDidLoad()
{
    super.viewDidLoad()

    self.locationManager.delegate = self
    self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
    self.locationManager.requestWhenInUseAuthorization()
    self.locationManager.startUpdatingLocation()
    self.mapView.showsUserLocation = true
    self.mapView.delegate = self
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

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.01, longitudeDelta: 0.01))

    self.mapView.setRegion(region, animated: true)

    self.locationManager.stopUpdatingLocation()
}

func locationManager(manager: CLLocationManager, didFailWithError error: NSError)
{
    print("Errors: " + error.localizedDescription)
}

}

但这只给了我一个位置。

1 个答案:

答案 0 :(得分:0)

您已显示地图,并且您希望在该地图上显示两个位置。

第一个位置是设备的位置,因此您可以从设备的GPS获得坐标。

第二个位置是别人的位置。你从哪里得到他们的坐标?您无法访问他们的GPS。他们设备上的应用程序必须将其坐标写入某个服务器。然后,您的应用程序从服务器读取这些坐标并使用MKPointAnnotation显示它们。应用程序没有“GPS流”,而不是运行它的设备。

同样,您设备上的应用必须编写自己的坐标,以便它可以显示在自己的应用上。

如果您没有服务器,可以使用Apple的CloudKit进行调查(例如)。