Я хочу получить значения широты и долготы пользователя в текущем местоположении пользователя. Мое веб-приложение asp.net работает по протоколу HTTP , и согласно руководству разработчика Google приложение должно работать по протоколу HTTPS, чтобы использовать службу геолокации HTML5. Каким-то образом я нашел это решение https://stackoverflow.com/a/39367531/7057220 и попробовал это
<script type="text/javascript">
$(document).ready(function () {
debugger;
var apiGeolocationSuccess = function (position) {
alert("API geolocation success!\n\nlat = " + position.coords.latitude + "\nlng = " + position.coords.longitude);
};
var tryAPIGeolocation = function () {
debugger;
jQuery.post("https://www.googleapis.com/geolocation/v1/geolocate?key=MyAPIKey", function (success) {
apiGeolocationSuccess({ coords: { latitude: success.location.lat, longitude: success.location.lng } });
})
.fail(function (err) {
alert("API Geolocation error! \n\n" + err);
});
};
var browserGeolocationSuccess = function (position) {
debugger;
alert("Browser geolocation success!\n\nlat = " + position.coords.latitude + "\nlng = " + position.coords.longitude);
};
var browserGeolocationFail = function (error) {
switch (error.code) {
case error.TIMEOUT:
alert("Browser geolocation error !\n\nTimeout.");
break;
case error.PERMISSION_DENIED:
if (error.message.indexOf("Only secure origins are allowed") == 0) {
tryAPIGeolocation();
}
break;
case error.POSITION_UNAVAILABLE:
alert("Browser geolocation error !\n\nPosition unavailable.");
break;
}
};
var tryGeolocation = function () {
debugger;
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
browserGeolocationSuccess,
browserGeolocationFail,
{ maximumAge: 50000, timeout: 20000, enableHighAccuracy: true });
}
};
tryGeolocation();
});
</script>
Проблема в том, что когда я запускаю этот код, он всегда дает мне неправильные значения широты и долготы. Я хочу знать, что я делаю не так в этом. Итак, как я могу использовать Geolocation без SSL-соединения