Как я могу найти местоположение пользователя с помощью SDK Google Maps для Swift?

Итак, я пытаюсь получить его, поэтому я открываю приложение, и оно начинается с местоположения пользователя. Проблема в том, что я получаю сообщение «Местоположение пользователя неизвестно» в поле вывода. У меня включено местоположение, как показано в приведенном ниже коде, поэтому мне интересно, может ли что-то еще вызывать эту проблему. Помощь будет признательна, спасибо.

import UIKit
import GoogleMaps

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        let camera = GMSCameraPosition.cameraWithLatitude(-33.86,
                                                          longitude: 151.20, zoom: 6)
        let mapView = GMSMapView.mapWithFrame(CGRectZero, camera: camera)
        mapView.accessibilityElementsHidden = false
        mapView.myLocationEnabled = true
        self.view = mapView

        if let mylocation = mapView.myLocation {
            print("User's location: \(mylocation)")
        } else {
            print("User's location is unknown")
        }
        let marker = GMSMarker()
        marker.position = CLLocationCoordinate2DMake(-33.86, 151.20)
        marker.title = "Sydney"
        marker.snippet = "Australia"
        marker.map = mapView

    }

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


}

person deee_geee    schedule 15.05.2016    source источник
comment
Короткий ответ - напрямую нельзя. stackoverflow .com / questions / 20967496 / вам нужно будет напрямую запросить менеджера местоположения.   -  person Warren Burton    schedule 16.05.2016


Ответы (2)


Вы пробовали использовать CLLocationManager()?

Воспользуйтесь инструкцией ниже, она покажет вам, как узнать местоположение пользователя. Это поможет вам запросить у пользователя разрешение на просмотр их местоположения, вплоть до обратного геокодирования местоположения для отображения адреса, по которому они находятся, с помощью GMSGeocoder()

[https://www.raywenderlich.com/109888/google-maps-ios-sdk-tutorialprovided[1sizes]

[1]: Рэй Вендерлих

надеюсь, это поможет

person Rowan Stanley    schedule 16.05.2016

Я пробовал это так:

  1. Задайте настраиваемую строку для запроса авторизации при использовании (или того, что вам нужно) в «Конфиденциальность - Местоположение при использовании Описание использования» (или просто NSLocationWhenInUseUsageDescription) моего Info.plist файл свойств. Затем вам будет предложено разрешить определение вашего местоположения.

  2. Установите правильный делегат (GMSMapViewDelegate) в вашем представлении: например

    класс MapView: UIViewController, GMSMapViewDelegate {...}

  3. И, наконец, установите делегата на свой GMSMapView экземпляр. В моем случае mapView:

let mapView = GMSMapView.map(withFrame: frameMapViewContainer, camera: camera) mapView.delegate = self

person AndresGranados    schedule 28.07.2017