it-swarm.com.de

Geolocation-Fehler in Google Chrome

Ich weiß, dieses Problem wurde bereits in der Vergangenheit gemeldet.

Aber es wurde 2015 gelöst. Jetzt ist es wieder 2017!

Der Fehler ( Geolocation Position Error, Code 2 ) erscheint in Chrome (Version 56.0.2924.87 (64-Bit)):

Anbieter für Netzwerkstandorte unter ' https://www.googleapis.com/ ': Zurückgegebener Fehlercode 403.

Fehlercode 2

Bitte beachten Sie: Chrome benötigt HTTPS für Geolocation!

function getCoords() {
  return new Promise(function(resolve, reject) {
    if (navigator.permissions) {
      navigator.permissions.query({
        name: 'geolocation'
      }).then(function(permission) {
        switch (permission.state) {
          case 'granted':
            navigator.geolocation.getCurrentPosition(function(pos) {
              resolve(pos.coords);
            }, function(error) {
              console.error('Error Code: ' + error.code + ' - ' + error.message);
            });
            break;
          case 'Prompt':
            console.info('Check Geolocation Promt.');
            navigator.geolocation.getCurrentPosition(function(pos) {
              resolve(pos.coords);
            }, function(error) {
              console.error('Error Code: ' + error.code + ' - ' + error.message);
            });
            break;
          case 'denied':
          default:
            resolve(null);
            break;
        }
      });
    } else {
      reject(new DOMError('NotImplemented', 'Permission API is not supported'));
    }
  });
}

function locate() {
  if (typeof Promise !== "undefined" && Promise.toString().indexOf("[native code]") !== -1) {
    getCoords().then(function(coords) {
      if (coords !== null) {
        console.log(coords);
        document.getElementById('coords').value = coords.latitude + ', ' + coords.longitude;
      } else {
        console.warn('No coords returned :/');
      }
    });
  } else {
    console.warn('This browser doesn\'t support geolocation.');
  }
}
<button onclick="javascript:locate()">Locate me</button>
<input type="text" id="coords" readonly/>

Das Problem scheint in diesem Google Maps-API-Beispiel dasselbe zu sein: https://developers.google.com/maps/documentation/javascript/examples/map-geolocation

10
Sebastian

Dies geschah auch mir, ich habe 30 Minuten lang versucht, eine Lösung zu finden, um dann einen Neustart durchzuführen

3

Jeder an meinem Arbeitsplatz hat derzeit Probleme mit unserem eigenen Code und den Google Maps API-Beispielen.

Es scheint, dass der Netzwerk-Standortanbieter-Dienst von Google regelmäßig nicht zur Verfügung steht. Alle Geräte, die den Standort nicht auf andere Weise ermitteln können (GPS oder Cell Tower Triangulation), schlagen fehl.

Ehrlich gesagt, scheint dies eine wirklich schwache Implementierung zu sein - warum gibt es nicht einen Fallback-Netzwerkstandortanbieter für Chrome?

1
wyqydsyq

Ich weiß, dass der Betreff Google Chrome enthält, aber dieser Fehler:

Network location provider at 'https://www.googleapis.com/' : No response received.

passiert auch auf Chromium, Version 70.0.3538.67 (Developer Build) (64-Bit) (MacOS, High Sierra).

Möglicherweise ist dies https://bugs.chromium.org/p/chromium/issues/detail?id=820945&can=2&start=0&num=100&q=geolocation&colspec=ID verwandt.

0
Cezary Tomczyk

Das Problem scheint gelöst zu sein. Ich ändere nichts. Ich denke, es ist ein Proxy-Problem für Unternehmen.

0
Sebastian