Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save VoloshchenkoAl/c5fd3013017e797213ac7e1af6d59bb4 to your computer and use it in GitHub Desktop.
Save VoloshchenkoAl/c5fd3013017e797213ac7e1af6d59bb4 to your computer and use it in GitHub Desktop.
function getCurrentPositionUsGeoAndIp(){
var D = $.Deferred();
try{
//using navigator geolocation
if( navigator.geolocation ){
navigator.geolocation.getCurrentPosition( foundCordsUseGeoSuccess, foundCordsUseGeoFail );
function foundCordsUseGeoSuccess( position ){
var coords = {
lat: position.coords.latitude,
lon: position.coords.longitude
};
D.resolve( coords );
};
function foundCordsUseGeoFail(){
D.reject(002);
};
} else {
//using IP
var urlForIp = 'http://ip-api.com/json';
$.getJSON( urlForIp ).done(function( data ){
var coords = {
lat: data.lat,
lon: data.lon
};
D.resolve( coords );
}).fail(function(e){
D.reject(003);
});
}
} catch(e){
D.reject(001);
}
return D;
}
getCurrentPositionUsGeoAndIp().done(function( pos ){
console.log(pos);
}).fail(function( e ){
alert( e );
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment