在我的应用程序中,我想使用增强现实来查找像家庭餐馆等地方.. 我想做的就是当我开始应用程序相机时,打开我的应用程序,然后我想在相机的方向上找到位置。对于示例,我启动应用程序,即将面向东部和电话键盘面向我的朝向我,然后是东方方向的地方。 我已经写了一些启动相机的代码,请建议任何可用于此任务的API和示例和教程.Thanks提前执行此操作。 这是我的代码。

@Override
    public void onCreate(Bundle savedInstanceState) {
        // try{

        super.onCreate(savedInstanceState);


sensorMan = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

        sensorMan.registerListener(this,sensorMan.getDefaultSensor(SensorManager.SENSOR_ORIENTATION),
    SensorManager.SENSOR_DELAY_FASTEST);
        //lastUpdate = System.currentTimeMillis();

sensorMan.registerListener(this, sensorMan.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), 
                SensorManager.SENSOR_DELAY_NORMAL);
    }//end of oncreate

@Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onSensorChanged(SensorEvent event) {
        // TODO Auto-generated method stub



        if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {

Toast.makeText(this, "X-rawDirection->"+event.values[0], Toast.LENGTH_SHORT).show();
Toast.makeText(this, "Y-rawDirection->"+event.values[1], Toast.LENGTH_SHORT).show();
Toast.makeText(this, "Z-rawDirection->"+event.values[2], Toast.LENGTH_SHORT).show();

            }

            if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) {

    Toast.makeText(this, "X-rawDirection TYPE_ORIENTATION->"+event.values[0], Toast.LENGTH_SHORT).show();
    Toast.makeText(this, "Y-rawDirection TYPE_ORIENTATION->"+event.values[1], Toast.LENGTH_SHORT).show();
    Toast.makeText(this, "Z-rawDirection TYPE_ORIENTATION->"+event.values[2], Toast.LENGTH_SHORT).show();

            }

        }
}
.

有帮助吗?

解决方案 2

这是一个重要的链接。

http://code.google.com/apis/maps/documentation/places/ 现在我需要做的就是解析XML文件并获取地点..

其他提示

有三个步骤。

1)使用传感器确定您的位置和方向。

2)通过使用大圆距离和轴承确定已知的GPS坐标的相对位置和轴承,从GPS坐标空间转换为平面坐标空间。 http://www.yourhomenow.com/house/haversine.html (您的设备停留在具有此方案的坐标空间的起源处)

3)进行透视投影 http://en.wikipedia.org/wiki/3d_projection# Perspective_Proize 弄清楚在平面上的位置,这是您的显示(好的,相机传感器)应该出现的对象,所以您可以增强它们。 要首先,您可以简化这种情况,以便手机仅在一个方向上保持,并且您不会更新显示以考虑从屏幕定义为相机的轴的方向,因为基本“ Finder“应用程序,大多数人不会以这种轴旋转。请注意Gimbal Lock http://en.wikipedia.org/wiki/gimbal_lock - 我' m不确定Android Sensor API是否为您处理此操作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top