我使用此代码来计算两个 gps 位置之间的距离。问题是当我返回计算值时,它返回未定义的值。请帮我
function calcDistane(offerID,userLocation){
var dist;
var adapter = new LocationAdapter();
adapter.selectByOfferId(offerID,function(res){
navigator.geolocation.getCurrentPosition(function(position){
var R = 6371;
var userLocation= position.coords;
dist= Math.acos(Math.sin(userLocation.latitude)*Math.sin(res.item(0).lt) +
Math.cos(userLocation.latitude)*Math.cos(res.item(0).lt) *
Math.cos(userLocation.longitude-res.item(0).lg)) * R;
});
});
return dist;
};