Используйте функцию callback()
внутри успеха foo()
. Попробуйте таким образом. Это просто и легко понять. & nbsp;
var lat = "";
var lon = "";
function callback(data) {
lat = data.lat;
lon = data.lon;
}
function getLoc() {
var url = "http://ip-api.com/json"
$.getJSON(url, function(data) {
callback(data);
});
}
getLoc();
Это потому, что 0 является «самой левой» частью левого текселя, а 1 является самой правой точкой в правом тексте. Предположим, что у нас есть 4 текселя, чем координаты:
0 1/4 1/2 3/4 1
| tx1 | tx2 | tx3 | tx4 |
, так как вам нужно попасть точно в центр вокселя, вам нужно использовать адреса, которые на 1/2 вокселя выше, чем вы ожидали (+ 0,25 / 2 = + 0,135), поэтому центры вокселей приведены в нижней строке следующей диаграммы.
| tx1 | tx2 | tx3 | tx4 |
| | | |
0.125 0.375 0.625 0.875