geolocation 有两个 call
navigator.geolocation.getCurrentPosition(success, error);
function success(position) {
return position;
};
我的程序必须获得 pos 对象之后,才能执行下面的步骤,问题是,如何知道什么时候 pos 有返回呢?
我暂时的方案是
function success(position) {
after_geo_api(position);
};
不过这个方案,显然不是太理想,这样,所有的其他步骤就只能在 after_geo_api 这个函数中去添加了。
你的想法还是停留在操作是同步进行,而异步在JavaScript是无处不在的,你调用
navigator.geolocation.getCurrentPosition
时,浏览器会向用户发出一条询问,是否同意获取当前地理位置。你无法得出用户什么时候会点击同意,所以这里我们传入一个回调函数,指明当用户允许获取地理位置并且获取成功时执行的操作。