我对由Windows 7 Adobe AIR runtime运行的Windows 7 Adobe AIR runtime和嵌入到超级基本html页面中的Google Maps Javascript V3变得超级疯狂。
SWF只是加载后一个html并显示映射。
通过经典2d map的导航工作非常完美,但是,当street view模式启动时,air会生成大量的javascript错误。由任何浏览器加载的同一个html工作得完美无缺。
我创建了一个超级简单的SWF作为概念的证明。这是极小的mxml源代码:
<mx:WindowedApplication
xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="init();"
>
<mx:UIComponent
id="bxMap"
width="100%" height="100%"
/>
<mx:Script>
<![CDATA[
private var _browser:HTMLLoader;
private var _sprite:Sprite;
private function init():void {
_browser = new HTMLLoader();
_browser.width = bxMap.width;
_browser.height = bxMap.height;
_sprite = new Sprite();
_browser.addEventListener(Event.COMPLETE, map_Ready);
_browser.load(new URLRequest("https://google-developers.appspot.com/maps/documentation/javascript/examples/full/map-simple?hl=it"));
}
private function map_Ready(event:Event):void {
_sprite.addChild(_browser);
bxMap.addChild(_sprite);
}
]]>
</mx:Script>
</mx:WindowedApplication>如您所见,html是从google示例中提取的,因此它不应该包含任何奇怪的东西.无论如何,我也尝试了我编写的超小型html和相同的问题occours。
这是AIR捕获的典型的javascript错误。只需在街道视图中移动鼠标,生成数百个错误,如下所示:
TypeError: Result of expression 'a' [undefined] is not an object.
Hu at : 2
at : 9
ag at https://maps.gstatic.com/intl/it_it/mapfiles/api-3/14/3/main.js : 25
at https://maps.gstatic.com/intl/it_it/mapfiles/api-3/14/3/main.js : 24
lC at : 13
at : 10
at https://maps.gstatic.com/intl/it_it/mapfiles/api-3/14/3/main.js : 9
at https://maps.gstatic.com/intl/it_it/mapfiles/api-3/14/3/main.js : 19
at https://maps.gstatic.com/intl/it_it/mapfiles/api-3/14/3/main.js : 21
at https://maps.gstatic.com/intl/it_it/mapfiles/api-3/14/3/main.js : 19
at https://maps.gstatic.com/intl/it_it/mapfiles/api-3/14/3/main.js : 21
at https://maps.gstatic.com/intl/it_it/mapfiles/api-3/14/3/main.js : 19
Fr at : 73
at : 72
at https://maps.gstatic.com/intl/it_it/mapfiles/api-3/14/3/main.js : 20知道为什么会发生这种情况,以及如何摆脱它吗?
我试图通知谷歌(在https://code.google.com/p/gmaps-api-issues/ )这种行为,但几分钟后有人删除了我的问题。没有人告诉我为什么要删除我的问题。
发布于 2013-09-10 16:17:20
不要使用HTMLLoader。很方便,但功能不全.相反,切换到StageWebView,这是在空气中显示大部分web内容的推荐方法。您将不得不处理它不在显示列表中,但我可以确认它的工作。就在上周,我使用它构建了一个Google组件,以便在手机上使用Google。
HTMLLoader使用内置的AIR Webkit渲染引擎,它不是一个非常完整的引擎,并且有很多问题。另一方面,StageWebView使用系统浏览器( OS上的Safari和iOS上的Safari,Windows上的IE,Android上的Chrome/Browser )来呈现内容,这通常要可靠得多。
我可以确认我的组件(它实际上生成了一个包含地图v3 API的HTML页面)和您在Android、OS和iOS上使用StageWebView提供的链接。我没有Windows电脑可以测试,但它也应该在那里工作。
https://stackoverflow.com/questions/18723453
复制相似问题