2017-01-12 2 views
0

Meine aktuelle Site ist vollständig abhängig vom aktuellen Standort. Im Moment benutze ich Geolocation um den aktuellen Standort zu bekommen. Aber in der aktuellen Situation ist der Benutzer verwirrt über den Standort der Aktie. Also möchte ich ein benutzerdefiniertes Popup (Bootstrap) erstellen, um den aktuellen Standort des Client-PCs zu erhalten.Benutzerdefiniertes Popup für meinen aktuellen Standort

Mein aktueller Code ist wie folgt:

function getLocation() { 

    if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(showPosition, error, {enableHighAccuracy:true,timeout:60000,maximumAge:0}); 
    } 
    else { 
     console.log("Geolocation is not supported by this browser."); 
    } 
} 

function error(error) { 
    console.log(error); 
} 

function showPosition(position) { 

    var latitude = position.coords.latitude, 
    longitude = position.coords.longitude; 

    console.log(latitude); 
    console.log(longitude); 
} 

Bitte helfen Sie mir in diesem Anliegen.

+1

Was ist das Problem mit dem Code? – Teemu

+0

Wenn Sie Bootstrap verwenden möchten, lesen Sie über ihre Modals, es ist ziemlich einfach zu erstellen – Roljhon

+0

@Teemu Der Code funktioniert gut, aber ich möchte ein benutzerdefiniertes Popup für Geolocation-Berechtigung anstelle von benutzerdefinierten Speicherort Pop-up vom Benutzer erstellen. –

Antwort

2

Es gibt jetzt eine Möglichkeit, das Popup-Fenster für die Geolocation-Berechtigung des Browsers zu öffnen. Auf Chrome, sieht es wie folgt aus:

Chrome geolocation example

dem Benutzer erlauben, klicken müssen, bevor Sie ihre Lage lesen (dies ist eine Sicherheitsfunktion). Wenn Sie es jedoch unbedingt benötigen, können Sie feststellen, ob die Berechtigung verweigert wurde, und dem Benutzer erklären, wie er die Berechtigung erteilen kann und warum dies wichtig ist.

Siehe this answer auf eine ähnliche Frage und this example Fehler "Zugriff verweigert" zu erkennen:

function getLocation() { 
 
    if (navigator.geolocation) { 
 
    navigator.geolocation.getCurrentPosition(showPosition, positionError); 
 
    } else { 
 
    console.log("Geolocation is not supported by this browser."); 
 
    } 
 
} 
 

 
function showPosition(position) { 
 
    // Success, can use position. 
 
    console.log("Your position is: " + position); 
 
} 
 

 
function positionError(error) { 
 
    if (error.PERMISSION_DENIED) { 
 
    console.log("Error: permission denied"); 
 
    // Your custom modal here. 
 
    showError('Geolocation is not enabled. Please enable to use this feature.'); 
 
    } else { 
 
    // Handle other kinds of errors. 
 
    console.log("Other kind of error: " + error); 
 
    } 
 
} 
 

 
function showError(message) { 
 
    // TODO 
 
} 
 

 
getLocation();

Verwandte Themen