getCurrentPosition
является асинхронным. Он не присваивается mapsURL
немедленно, поэтому при вызове getData
синхронно , mapsURL
еще не было заполнено.
Вы должны вызывать getData
внутри обратного вызова getCurrentPosition
, что также позволит вам избежать использования глобальной переменной:
$(document).ready(function() {
navigator.geolocation.getCurrentPosition(function(position) {
var positionLat = position.coords.latitude
var positionLon = position.coords.longitude
var mapsURL = "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + positionLat + "," + positionLon + "&key=***mykeygoeshere***";
getData(mapsURL);
});
function getData(mapsURL) {
$.ajax({
url: mapsURL,
dataType: 'json',
success: function(response) {
console.log(response);
}
});
}
});