0

我试图理解wikititude的例子。当我在手机上运行示例应用程序并尝试其中一个 POI 示例时,它会将 poi 加载到相机视图中。然而,他们总是与我保持相对。当我四处走动时,我永远无法走过一个,而且它似乎总是离我 5m 远。如何更新 wikitide 示例以显示绝对地理位置,您可以四处走动和探索?这看起来很简单,但网上的例子似乎都与回答这个问题无关。我已经广泛搜索了 wikiitude 示例文档。

这是架构师视图中 poiatlocation.js 文件底部的摘录 -

我应该查看架构师世界中的 js 文件,还是查看 java 代码?

locationChanged: function locationChangedFn(lat, lon, alt, acc) {

    // request data if not already present
    if (!World.initiallyLoadedData) {
        var poiData = {
            "id": 1,
            "longitude": (lon + (Math.random() / 5 - 0.1)),
            "latitude": (lat + (Math.random() / 5 - 0.1)),
            "altitude": 100.0
        };

        World.loadPoisFromJsonData(poiData);
        World.initiallyLoadedData = true;
    }
}, 

};

/* 将 locationChanges 转发到自定义函数 */ AR.context.onLocationChanged = World.locationChanged;

4

1 回答 1

1

提供的示例实现在第一次位置更新时在用户附近创建虚拟 poi 数据。POI 可能距离用户有几公里,您可以使用“lon + 0.001”和“lat + 0.001”来创建更近的 POI。另请注意,GPS 和网络定位通常不是很准确,示例应用程序在 Android 上使用非常基本的“定位策略”,在 iOS 上使用默认定位策略 - 所以不要指望内部移动会导致 POI 位置变化.

一旦您在户外附近使用 POI 进行尝试,您会注意到位置变化效果。

亲切的问候

PS.:如果您想使用更准确的位置策略,请查看 http://developer.android.com/guide/topics/location/strategies.html 并覆盖 ARchitectView 的 setLocation 实现。注意:本地环境中的每个architectView.setLocation() 也会导致“AR.context.onLocationChanged”-JS 函数调用。

于 2014-06-10T09:46:32.740 回答