Используйте функцию 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();
Вы можете добавить значения непосредственно в намерения.
intent.putExtra(KEY, VALUE)
в противном случае попробуйте использовать
args.putDouble(LON_KEY, pLong)
args.putDouble(LAT_KEY, pLat)
LatLng
нельзя передать таким образом (к сожалению).
РЕДАКТИРОВАТЬ: Даниэль Нуджент разоблачил и доказал, что действительно LatLng
IS Parcelable. Поэтому, это решение лучше, чем мое, я должен признать, и я тоже кое-что узнаю.
Я бы предложил сохранить значения lat / lng отдельно:
intent.putExtra("latitude", latLng.latitude);
intent.putExtra("longitude", latLng.longitude);
Затем извлеките их как так:
final double latitude = getIntent().getDoubleExtra("latitude");
final double longitude = getIntent().getDoubleExtra("longitude");
final LatLng = new LatLng(latitude, longitude);