myLocationEnabled Wechsel zu isMyLocationEnabled auf swift bei der Verwendung von GoogleMaps

Im Versuch, einen Benutzer aktuelle Position auf Karte mit google maps API. Ich habe zu kämpfen mit diesem Problem seit Wochen und der code wird ausgeführt, aber nicht update zur aktuellen Lage, wenn ich den Speicherort ändern, in den simulator.

Mein code ist unten, und nach einem Blick, wie andere Menschen es tun, Sie alle haben mapView.myLocationEnabled = true in der Erwägung, dass dies für mich einen Fehler produziert, die sagen, ‚myLocationEnabled wurde umbenannt in ‚isMylocationEnabled‘. Ich habe gesehen, einige up-to-date-Beiträge (ab 2 Monaten) und jeder ist mit myLocationEnabled ohne Fehler scheint es, warum bekomme ich diese? könnte dies der Grund sein, warum mein Aktueller Standort wird nicht aktualisiert?

import UIKit
import GoogleMaps

class FirstViewController: UIViewController, CLLocationManagerDelegate {


    @IBOutlet weak var mapView: GMSMapView!


    let locationManager = CLLocationManager()
    override func viewDidLoad() {
        super.viewDidLoad()
        locationManager.delegate = self
        mapView.settings.myLocationButton = true
        mapView.settings.compassButton = true
    }
    override func viewDidAppear(_ animated: Bool) {
        locationManager.requestWhenInUseAuthorization()
    }
    func locationManager(manager: CLLocationManager , didChangeAuthorizationStatus status: CLAuthorizationStatus) {
        if status == .authorizedWhenInUse {
            locationManager.startUpdatingLocation()


            mapView.isMyLocationEnabled = true

            mapView.settings.myLocationButton = true
        }
    }
    func locationManager(manager: CLLocationManager ,didUpdateLocations locations: [CLLocation]) {
        if let location = locations.first {

            mapView.camera = GMSCameraPosition(target: location.coordinate, zoom: 15, bearing: 0, viewingAngle: 0)

            let marker = GMSMarker()
            marker.title = "Current Location"
            marker.map = mapView
            locationManager.stopUpdatingLocation()
        }
    }
}
  • Hast u erstellt ein Projekt in der google developer-Konsole? Und durch die Art und Weise u sollte Sie entweder aktualisieren ur alten post stackoverflow.com/questions/40318101/… oder zu löschen, statt eine neue mit dem gleichen Problem. Diese raywenderlich.com/109888/google-maps-ios-sdk-tutorial könnte hilfreich sein als gut.
  • Hey, ja das habe ich. Ich habe meinen API-key in meinem Delegieren und die GoogleMaps zeigt, nicht nur zeigt die aktuelle Lage. Ok, sorry, ich werde löschen Sie die alte post. Das war eigentlich das tutorial, ich folgte zunächst aber gibt es kein Zeichen von ihm das gleiche Problem. Ich habe auch versucht, dieses tutorial appcoda.com/google-maps-api-tutorial und andere, die ich online gefunden. Durch die Art und Weise der ‚isMyLocationEnabled‘ ist ein BOOL – könnte das das problem sein? Könnte es ein problem mit Frameworks? da ich GoogleMaps heruntergeladen SDK manuell so vielleicht etwas vergessen?
InformationsquelleAutor Asel Kash | 2016-11-24

 

One Reply
  1. 1

    DAMIT ICH ENDLICH DIES PROBLEM GELÖST! Grundsätzlich habe ich aktualisiert meine vorhandenen Podfile mit GoogleMaps und GooglePlaces und dann aktualisiert pod, um sicherzustellen, dass alle frameworks arbeiten. Dann benutzte ich diesen code um meinen aktuellen Standort zu arbeiten

        import UIKit
    
        import GoogleMaps
    
    
        class FirstViewController: UIViewController, CLLocationManagerDelegate {
    
    
    @IBOutlet weak var mapView: GMSMapView!
    var locationManager = CLLocationManager()
    var vwGMap = GMSMapView()
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        let camera: GMSCameraPosition = GMSCameraPosition.camera(withLatitude: 22.300000, longitude: 70.783300, zoom: 10.0)
        vwGMap = GMSMapView.map(withFrame: self.view.frame, camera: camera)
        vwGMap.camera = camera
    
        locationManager.delegate = self
        locationManager.desiredAccuracy = kCLLocationAccuracyKilometer
        locationManager.distanceFilter = 500
        locationManager.requestWhenInUseAuthorization()
        locationManager.requestAlwaysAuthorization()
        locationManager.startUpdatingLocation()
    
        self.view = vwGMap
        }
    
    func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
    
            if (status == CLAuthorizationStatus.authorizedWhenInUse)
    
            {
                vwGMap.isMyLocationEnabled = true
            }
        }
    func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
            let newLocation = locations.last
            vwGMap.camera = GMSCameraPosition.camera(withTarget: newLocation!.coordinate, zoom: 15.0)
            vwGMap.settings.myLocationButton = true
            self.view = self.vwGMap
        let marker = GMSMarker()
        marker.position = CLLocationCoordinate2DMake(newLocation!.coordinate.latitude, newLocation!.coordinate.longitude)
        marker.map = self.vwGMap
        }

    }

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.