Я создаю страницу погоды, и мне нужно захватить местоположение пользователя, чтобы получить данные о погоде.API геолокации не работает
if ((navigator.geolocation)&&(location!=null)) {
var locations = null;
window.navigator.geolocation.getCurrentPosition(function(position){
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
locations = latitude+'/'+longitude;
show_all_weather_components();
console.log("1");
});
}
/* If location is not found the set default location as USDC0001, which is default code for washington DC. */
var locations= !locations?"USDC0001":locations;
console.log("2");
Я получаю 2 первых в своей консоли. то есть. Он всегда устанавливает адрес по умолчанию, а не фактический адрес пользователя. Я знаю, это звучит смешно, но есть ли способ избежать «неблокирующего» режима здесь. Или есть другой способ захватить местоположение пользователя. Я также попробовал ip-базу данных Api, но это не сработало с точностью.
В какой-то момент я думал о задержке чуть ниже части условия if, но из-за разных модулей этого приложения погоды моя страница уже очень медленная. Любая идея будет оценена по достоинству. Спасибо
места всегда нулевой, так что если условие не –
navigator.geolocation не является Jquery часть, но HTML 5. Также предложит пользователю свое местоположение на странице загрузки. Пока пользователь не разделит его, вы не сможете получить пользовательское местоположение пользователя. –
Я получаю это, даже если раньше мне разрешалось делиться местоположением, это занимает время, а console.log («2») выполняется раньше, чем console.log («1»). – santosh433