API геолокации навигатора выдает код ошибки PERMISSION_DENIED после включения

Я использую Navigator Geolocation API для своего проекта Angular 4, вот фрагмент кода, в котором я его использую:

setLocationByNavigator () {
    let options = {}

    const deviceInfo = this.deviceService.getDeviceInfo()

    if (deviceInfo.device === 'android' || deviceInfo.os === 'mac') {
      options = {
        maximumAge: 1500000,
        timeout: 100000
      }
    }

    return new Promise((resolve, reject) => {
      navigator.geolocation.getCurrentPosition((position) => {
        resolve(position.coords)
      }, (error: PositionError) => {
        resolve(error)
      }, options)
    })
}

getErrorCode (error: PositionError) {
    switch (error.code) {
      case error.PERMISSION_DENIED:
        console.info('Geolocation: User deinied the request for Geolocation.');
        break;
      case error.POSITION_UNAVAILABLE:
        console.info('Geolocation: Location information is unavailable.');
        break;
      case error.TIMEOUT:
        console.info('Geolocation: The request to get user location timed out.');
        break;
      default:
        console.info('Geolocation: An unknown error occured.');
        break;
    }
  }

На рабочем столе под окном работает отлично. Но для Mac и iPhone это не так. Я заметил, что после включения геолокации в Safari консоль выдает error.PERMISSION_DENIED линия.

Проект находится в Docker-контейнере и проксируется по адресу 127.0.0.1 (где-то я читал, что для кого-то было решением изменить localhost на 127.0.0.1)

URL: https://microker-stage.dev.e-vista.hu/

0 ответов

Другие вопросы по тегам