下面在getCurrentPosition函数里定义了error()、success()、sotrePosition()但是都没有调用这些函数?那什么时候调用它们呢?又该怎样调用它们呢? this.getCurrentPosition = function() {

/**定位*/
function error() {
alert("error");
} function success(position) {
... ...
}

function storePosition(lat,lon) {
... ...
} if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, error);
} else {
alert("您的手机不支持GPS服务");
}
}

解决方案 »

  1.   

    他们是私有函数,你只能在 getCurrentPosition 里面调用。。
    想要在外面调用的话,你必须return 他们出去
      

  2.   

       this.getCurrentPosition = function() {
            var obj = new Object();
            /**定位*/
            obj.error = function  () {
                alert("error");
            }        obj.success = function (position) {
                alert("s");
            }        obj.storePosition = function (lat, lon) {
                alert("sp");
            }        if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(success, error);
            } else {
                alert("您的手机不支持GPS服务");
            }
            return obj;
        }
        var obj = this.getCurrentPosition();
        obj.success(); 
      

  3.   


    它是私有函数,只能在函数内部调用
    你看这里不是调用了么
    navigator.geolocation.getCurrentPosition(success, error);
    括号里的success 和error
      

  4.   

     navigator.geolocation.getCurrentPosition(success, error);你定义的这些函数,被当成参数来传递了,也就是在 getCurrentPostion 方法的参数,至于里面是怎么样使用的,得看你的代码了