ReferenceError:错误#1065:变量flash.sensors :: Geolocation未定义

时间:2011-08-29 14:46:55

标签: flex actionscript-3 flex4

我有一个浏览器应用程序,我想使用Geolocation类。问题是,当我尝试使用Geolocation.isSupported时,我收到了该错误。我在文件中导入了flash.sensors.Geolocation但仍然出现此错误。

有什么想法吗?谢谢

稍后编辑:

我尝试过这样的错误后得到了这个错误:

public static function get isGeolocationSupported():Boolean
        {
            return Geolocation.isSupported;
        }

并调用此函数。

但如果我直接调用Geolocation.isSupported我会收到此错误:

  

VerifyError:错误#1014:类flash.sensors :: Geolocation不能   被发现。

5 个答案:

答案 0 :(得分:3)

此功能仅在移动设备上受支持。桌面或AIR for TV设备不支持Web应用程序。

答案 1 :(得分:0)

如果您在发布flash as3 swf时收到此错误,那是因为您需要将您的课程声明为公开。私有类不能用作文档类,因为它们不属于类包,因此不属于私有范围。

答案 2 :(得分:0)

以下错误是由于未实例化Geolocation类而导致的 EX:geo = new Geolocation();

  

ReferenceError:错误#1065:变量flash.sensors :: Geolocation is   未定义





另一个错误是

  

VerifyError:错误#1014:类flash.sensors :: Geolocation不能   被发现。

是因为你没有导入课程

答案 3 :(得分:0)

我试过了:

return (Geolocation != null);

但它给了我同样的错误 - 不幸的是,在这种情况下,你需要做一次尝试/捕获。

var result:Boolean = false;
try
{
    result = Geolocation.isSupported;
}
    catch (e:Error)
{
    trace(e.message);
}
finally
{
    return result;
}

答案 4 :(得分:0)

也许我的答案来得太晚,但我昨天收到同样的错误,我可以安排。您可以在Adobe Device Central中测试应用程序,您可以在其中更改正在使用的设备。实际上它在默认设备中不起作用。由于闪存版本,我试图通过swf播放器在我的智能手机中使用该应用程序时也遇到了问题。我不得不将其更改为10.1或更低版本(支持Geolocation的版本),无论如何我无法使其运行良好,尽管它在Device Central上运行正常。