2017-12-06 6 views
0

は私がエラーを取得していますユーザの現在位置を取得しますが、このラインで

let region : MKCoordinateRegion = MKCoordinateSpanMake(myLocation, span)

をこのエラーを取得している期待の引数の型「CLLocationDegrees」(別名「ダブル」)にタイプ「CLLocationCoordinate2D」の値を変換できません。上記の行でmyLocation

で期待される引数の型「CLLocationDegrees」(別名「ダブル」)にタイプ「CLLocationCoordinate2D」の値を変換できません

タイプキャストの問題などが考えられます。

このエラーを処理するにはどうすればよいですか多くの例を調べましたが、何も助けてくれませんでした。

import UIKit 
import MapKit 
import CoreLocation 

class ViewController: UIViewController, CLLocationManagerDelegate { 

let manager = CLLocationManager() 

@IBOutlet weak var myMap: MKMapView! 

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 


    let location = locations[0] 

    let span : MKCoordinateSpan = MKCoordinateSpanMake(1, 1) 
    let myLocation : CLLocationCoordinate2D = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude) 
    let region : MKCoordinateRegion = MKCoordinateSpanMake(myLocation, span) 



    myMap.setRegion(region, animated: true) 

    self.myMap.showsUserLocation = true 


} 

override func viewDidLoad() { 
    super.viewDidLoad() 

    manager.delegate = self 
    manager.desiredAccuracy = kCLLocationAccuracyBest 
    manager.requestWhenInUseAuthorization() 
    manager.startUpdatingLocation() 

    // Do any additional setup after loading the view, typically from a nib. 
} 

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


} 

enter image description here

答えて

1

あなたはMKCoordinateRegionMake、ないMKCoordinateSpanMakeをしたいです。

そして、あなたが作る必要があるその他の修正の多くがあります:

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 
    let location = locations[0] 

    let span = MKCoordinateSpanMake(0.01, 0.01) 
    let myLocation = location.coordinate 
    let region = MKCoordinateRegionMake(myLocation, span) 

    myMap.setRegion(region, animated: true) 

    self.myMap.showsUserLocation = true 
} 
+0

これは、サンのfransicoでユーザーを示して?現在の状態を取得する方法?またはシミュレータ上で私は現在の状態を取得できませんか? –

+1

これは最初に尋ねた質問とは全く別の質問です。私の答えは元の質問を解決しましたか?その場合は、答えの左側にあるチェックマークをクリックして指定してください。あなたの最新のコメントについては、いくつかの検索をしてください。シミュレータ内での位置の設定には多くの情報があります。 – rmaddy