The permissions read-only property of the Navigator interface returns a Permissions object that can be used to query and update permission status of APIs covered by the Permissions API.
A Permissions object.
navigator.permissions.query({ name: "geolocation" }).then((result) => {
if (result.state === "granted") {
showMap();
} else if (result.state === "prompt") {
showButtonToEnableMap();
}
// Don't do anything if the permission was denied.
});