ARView中看不到标记和雷达由于AR.ImageResource未加载本地图像

时间:2016-11-17 12:43:49

标签: ios cordova wikitude

在我的PhoneGap应用程序中,我使用的是Wikitude Cordova插件(5.1.1),所有Wikitude功能都运行良好。现在我将我的插件更新到5.3.0版本的最新版本,但我们在IOS设备中面临一些Wikitude插件功能的问题。问题是:

当我在应用程序中加载Wikitude ARView时,所有标记和雷达都会正确显示,但是当我使用AR.context.destroyAll()从ARView中销毁所有对象时;之后,当我再次尝试在ARView上绘制雷达和制造者时,这些对象在ARView上不可见。我的应用程序具有以下功能:我需要清除ARView中的所有标记,并使用一些过滤器重绘标记。

现在我找到了破坏后标记和雷达不可见的原因。

原因是“AR.ImageResource”在销毁后没有正确加载标记和雷达。当我为AR.ImageResource添加onLoaded和onError回调时。我们第一次加载AR World时,会收到“onLoadded”回调的呼叫。但是当我在销毁之后加载ImageResouce时,我收到了对“onError”回调的调用,错误显示它找到了错误路径的图像。

我将loadARchitectWorld的AR体验网址用作: var arExperienceUrl =“www / main_home_ar_view_screen.html”;

用于雷达图像资源的图像路径:www> img> wikitude_img> radar_bg.png

加载AR.ImageResource的代码:

AR.radar.background = new AR.ImageResource("img/wikitude_img/radar_bg.png", {
onLoaded : function successFn(loadedURL) {
           /* Respond to successful world loading if you need to */
            alert("onLoaded");                   
    },
onError : function errorFn(error) 
{
            alert("onError " + error + " & " +  error.message);
    }});

当我加载AR World时,上面的代码第一次运行正常。但是在从ARView中销毁对象后,AR.ImageResource在此路径中找到图像“/www/main_home_ar_view_screen.html/img/wikitude_img/radar_bg.png”,由于在错误的路径上找到图像,因此未加载图像(请参阅附图)。

enter image description here

我也找到了这些东西:

  • 相同的代码在Android平台上正常运行。
  • 如果我使用带有AR.ImageResource的图像URL(远程图像),那么iOS上的一切都很好。这意味着所有标记和雷达在ARView上销毁后都能正常显示,但是当我使用AR的本地图像路径时。 ImageResource然后标记和雷达在破坏后不显示(当我用本地图像路径加载AR World时,标记和雷达显示正确)。

请建议我如何使用本地图片路径解决AR.ImageResouce问题。

1 个答案:

答案 0 :(得分:0)

要解决此问题,只需将以下代码段粘贴到主Architect .js文件的顶部

stream.read_until('\n')

我从Wikitude开发者论坛获得此解决方案