我有一个简单的问题,我是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)
}
}
但这只给了我一个位置。
答案 0 :(得分:0)
您已显示地图,并且您希望在该地图上显示两个位置。
第一个位置是设备的位置,因此您可以从设备的GPS获得坐标。
第二个位置是别人的位置。你从哪里得到他们的坐标?您无法访问他们的GPS。他们设备上的应用程序必须将其坐标写入某个服务器。然后,您的应用程序从服务器读取这些坐标并使用MKPointAnnotation
显示它们。应用程序没有“GPS流”,而不是运行它的设备。
同样,您设备上的应用必须编写自己的坐标,以便它可以显示在自己的应用上。
如果您没有服务器,可以使用Apple的CloudKit进行调查(例如)。