Akilian
-
Posts
13 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Posts posted by Akilian
-
-
What is var options = {timeout:60000}; for?
-
It's working now. it was xmlHttp.send(); in the wrong place. Thank you so much for your help. I remember why I liked to do this years ago.
-
Will do. I'll let you know what I come up with.
-
Well, I got the alerts to display, but still no weather.
function showLocation(position) {var xmlHttp = new XMLHttpRequest(),latitude = position.coords.latitude,longitude = position.coords.longitude,weatherInform,elWeatherIcon = document.querySelector("#weather-icon"),elWeatherTemp = document.querySelector("#weather-temp"),elWeatherMax = document.querySelector("#weather-max"),elWeatherMin = document.querySelector("#weather-min"),elWeatherSum1 = document.querySelector("#weather-sum1"),coords,weather,weatherMax,weatherMin,weatherSum1,weatherIcon,weatherTemp;weather = URL_WEATHER_DATA + coords + URL_WEATHER_DATA2;coords = latitude + "," + longitude;alert(weather);alert(coords);xmlHttp.overrideMimeType("application/json");xmlHttp.open("GET", weather, false);if (xmlHttp.responseText) {// Parses responseText to JSONweatherInform = JSON.parse(xmlHttp.responseText);weatherIcon = weatherInform.currently.icon;weatherSum1 = weatherInform.daily.data[0].summary;weatherTemp = weatherInform.currently.temperature;weatherMax = weatherInform.daily.data[0].temperatureMax;weatherMin = weatherInform.daily.data[0].temperatureMin;elWeatherMax.innerHTML = weatherMax + " / ";elWeatherMin.innerHTML = weatherMin;elWeatherTemp.innerHTML = weatherTemp;elWeatherSum1.innerHTML = weatherSum1;elWeatherIcon.style.backgroundImage = "url('./image/weather_icon/" + weatherIcon + ".png')";}xmlHttp.send();} -
It did work when the showPosition was out of the weather function. I'll have to troubleshoot. Thanks for your help.
-
I dont think that its getting the coords. When I alert(position.coords.latitude + "," + position.coords.longitude); nothing happens.
-
URL_WEATHER_DATA = "https://api.darksky.net/forecast/gfgdfgsdgfsghsrtghshgh/"
Gibberish is my api.
This works if I manually plug in the coordinates.
xmlHttp.open("GET", URL_WEATHER_DATA + "30,-90" + "?exclude=hourly,minutely,alerts,flags?units=auto",false);
-
I'm starting to understand but I'm having issues with the url.if(navigator.geolocation){// timeout at 60000 milliseconds (60 seconds)var options = {timeout:60000};navigator.geolocation.getCurrentPosition(updateWeather, errorHandler, options);}else{alert("Sorry, browser does not support geolocation!");}}function updateWeather(position) {var coords = document.getElementById();coords.innerHTML = position.coords.latitude + "," + position.coords.longitude;xmlHttp.open("GET", URL_WEATHER_DATA + coords.innerHTML + "?exclude=hourly,minutely,alerts,flags?units=auto",false);
-
navigator.geolocation.getCurrentPosition(updateWeather, errorHandler, options);
You tell it which function to call when it gets the position, so tell it to call updateWeather and then change that function so that it takes the passed coordinates and uses them.
Is this right?
var x = document.getElementById("demo");function showLocation(position) {var latitude = position.coords.latitude;var longitude = position.coords.longitude;x.innerHTML = latitude + "," + longitude;navigator.geolocation.getCurrentPosition(updateWeather, errorHandler);}function errorHandler(err) {if(err.code === 1) {alert("Error: Access is denied!");}else if( err.code === 2) {alert("Error: Position is unavailable!");}}function getLocation(){if(navigator.geolocation){// timeout at 60000 milliseconds (60 seconds)var options = {timeout:60000};navigator.geolocation.getCurrentPosition(showLocation, errorHandler, options);}else{alert("Sorry, browser does not support geolocation!");}}And in the weather function, what do I put in the url?xmlHttp.open("GET", URL_WEATHER_DATA + getLocation() + "?exclude=hourly,minutely,alerts,flags?units=auto",false); -
The showLocation function should call the weather function and pass the coordinates, or just use the weather function as the callback for getCurrentPosition.
Would you mind showing me? I would be grateful.
-
Have you read through this?
http://www.w3schools.com/html/html5_geolocation.asp
http://www.w3schools.com/js/js_ajax_examples.asp
In your above code you have a global var x declared as an element and then later you seem to think it is a string?
Yes, I have read those. i can get the coordinates to send via alert but cannot link it with the weather function. What should I put for location so it calls for the coordinates. And, thank you both for the assistance.
-
My weather function works when I enter the coordinates myself. I'm trying to use a get location function to find and enter them in but it's not working. Please help.
////////////////////////////////////////////////////////////////////////////////////////////////
var x = document.getElementById("demo");function showLocation(position) {var latitude = position.coords.latitude;var longitude = position.coords.longitude;x.innerHTML = latitude + "," + longitude;}function errorHandler(err) {if(err.code === 1) {alert("Error: Access is denied!");}else if( err.code === 2) {alert("Error: Position is unavailable!");}}function getLocation(){if(navigator.geolocation){// timeout at 60000 milliseconds (60 seconds)var options = {timeout:60000};navigator.geolocation.getCurrentPosition(showLocation, errorHandler, options);}else{alert("Sorry, browser does not support geolocation!");}}///////////////////////////////////////////////////////////////////////////////////////////////function updateWeather() {var xmlHttp = new XMLHttpRequest(),location = x;xmlHttp.overrideMimeType("application/json");xmlHttp.open("GET", URL_WEATHER_DATA + location + URL_WEATHER_DATA2,false);
GeoLocation Help
in JavaScript
Posted
Based on my code, is there a way to limit the calls to one call per hour?