Ich habe den folgenden Code, der den Benutzer auffordert, ihre aktuelle Position im Browser zuzulassen, wenn sie auf den Standortlink klicken/klopfen.Problem mit Geolocation in IE11
Dies funktioniert gut in Chrome, Safari und Firefox, aber ich kann es nicht in IE11 arbeiten. Manchmal zeigt es die Browserbenachrichtigung für den Benutzer, um seinen Standort anzugeben, aber dann passiert nichts.
Ich fragte mich, ob jemand anderes Probleme mit Google Maps hatte und den Standort in IE11 anfragte und ob jemand eine Lösung hat?
<p id="error"></p>
<form action="/" method="post">
<a class="location-link" id="location-link" href="#"><img src="/static/images/icons/location.png" alt="Get your current location" title="Get your current location" /></a><input type="text" name="location" value="" placeholder="Find a salon" >
<input class="viewbtn3" value="Submit" type="submit"></form>
<script src="/static/js/jquery.1.9.1.js"></script>
<script src="https://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript">
$(document).ready(function() {
if (typeof navigator.geolocation == "undefined") {
$("#error").text("Your browser doesn't support the Geolocation API");
$(".location-instruction span").hide();
$(".location-link").hide();
return;
}
$("#location-link").click(function(event) {
event.preventDefault();
var addressId = this.id.substring(0, this.id.indexOf("-"));
var thisid = $(this).attr("id");
//console.log(thisid);
navigator.geolocation.getCurrentPosition(function(position) {
var geocoder = new google.maps.Geocoder();
geocoder.geocode({
location: new google.maps.LatLng(position.coords.latitude, position.coords.longitude)
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
$("#" + thisid).parent().find('input[name="location"]').val(results[0].formatted_address);
$(".choose_wrap").addClass('sucess');
} else {
$("#" + thisid).parent().find("#error").html("Unable to retrieve your address<br />");
$(".choose_wrap").addClass('fail');
}
})
}, function(positionError) {
$("#" + thisid).parent().find("#error").html("Error: " + positionError.message + "<br />")
}, {
enableHighAccuracy: true,
timeout: 10 * 1000
})
});
});
</script>
es funktionierte genauso wie in anderen Browsern. Haben Sie kein Problem – Dimple
Hmm, haben Sie IE11 und Windows 10 zufällig versucht? – doubleplusgood
Ja, ich hatte versucht IE11, aber es hatte nur eine Marge Einstellung Probleme .. nichts falsch mit Geolocation – Dimple