如何使用JavaScript在浏览器中提示位置共享权限?

时间:2017-03-23 10:45:12

标签: javascript angularjs web

如何使用JavaScript向用户提示位置共享权限。例如,每当我们访问谷歌地图时,浏览器会自动询问共享位置。我的目标是提示用户共享位置的权限。我正在使用AngularJS中的跟踪模块,但我需要提示用户在Google Chrome中获得许可。 谢谢

2 个答案:

答案 0 :(得分:1)

您可以使用这样的功能。调用此函数将引发弹出窗口。

navigator.geolocation.getCurrentPosition(function(position) {
  yourFunction(position.coords.latitude, position.coords.longitude);
});

当位置可用时,你的函数将被执行。

答案 1 :(得分:0)

请参阅以下权限:https://developer.mozilla.org/en-US/docs/Web/API/Permissions_API/Using_the_Permissions_API

function handlePermission() {
  navigator.permissions.query({name:'geolocation'}).then(function(result) {
    if (result.state == 'granted') {
      report(result.state);
      geoBtn.style.display = 'none';
    } else if (result.state == 'prompt') {
      report(result.state);
      geoBtn.style.display = 'none';
      navigator.geolocation.getCurrentPosition(revealPosition,positionDenied,geoSettings);
    } else if (result.state == 'denied') {
      report(result.state);
      geoBtn.style.display = 'inline';
    }
    result.onchange = function() {
      report(result.state);
    }
  });
}

function report(state) {
  console.log('Permission ' + state);
}

handlePermission();