Bra*_*cal 2 javascript function undefined geolocation
这是一个快速的问题,我在一个对象中有以下方法,为什么它返回undefined?
var getGeoLocation = function() {
if (typeof(navigator.geolocation) != 'undefined') {
var test = navigator.geolocation.getCurrentPosition(function(position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
return(new google.maps.LatLng(lat, lng));
});
}
}
var testFunction = function() {alert(getGeoLocation()); // returns undefined?}
Run Code Online (Sandbox Code Playgroud)
这是因为navigator.geolocation.getCurrentPosition是异步的.该getGeoLocation功能通过匿名的回调函数返回之前getCurrentPosition已执行,而且由于getGeoLocation功能没有return声明,则返回undefined.
移动取决于navigator.geolocation.getCurrentPosition回调内部响应的代码.
| 归档时间: |
|
| 查看次数: |
7076 次 |
| 最近记录: |