Я получаю местоположение пользователя с помощью API HTML5 Geolocation, как это:Javascript и HTML5 Geolocation - как сохранить позицию?
navigator.geolocation.getCurrentPosition(function (position) {
loadWeather(position.coords.latitude + ',' + position.coords.longitude); //load weather using your lat/lng coordinates
});
jQuery(document).ready(function() {
loadWeather('Seattle',''); //@params location, woeid
});
function loadWeather(location, woeid) {
jQuery.simpleWeather({
location: location,
woeid: woeid,
unit: 'c',
success: function(weather) {
html = '<div class="weather_widget text-right"><h2><div class="icon_weather"><i class="icon-'+weather.code+'"></i></div><div class="degrees"><div class="temp_weather">'+weather.temp+'</div><div class="weather_deg">°</div><div class="unit_weather">'+weather.units.temp+'</div></div></h2>';
html += '<div class="city_weather">'+weather.city+'</div></div>';
jQuery("#weather").html(html);
},
error: function(error) {
jQuery("#weather").html('<p>'+error+'</p>');
}
});
}
Это в основном загружает виджет, который показывает погоду на основе позиции геолокации.
Теперь мои вопросы:
Как я мог хранить переменные местоположения для всей сессии? (Чтобы он не запрашивал местоположение при загрузке новой страницы?)
Как я могу сделать переменную местоположения доступной для всего веб-сайта, чтобы я мог использовать это местоположение в других функциях на веб-сайте ? (Например, карта google).
Код геолокации находится в файле заголовка, который содержится на сайте.
Вы можете хранить на стороне клиента местоположения через куки или sessionStorage. Оба доступны с помощью JavaScript. – musse1
использовать localStorage –
@SergeyBelyakov - почему вы рекомендуете localStorage через sessionStorage? Это вопрос предпочтения или есть конкретная причина? – Jacques