通过增强现实查找餐馆和旅游场所
-
29-10-2019 - |
题
在我的应用程序中,我想使用增强现实来查找像家庭餐馆等地方.. 我想做的就是当我开始应用程序相机时,打开我的应用程序,然后我想在相机的方向上找到位置。对于示例,我启动应用程序,即将面向东部和电话键盘面向我的朝向我,然后是东方方向的地方。 我已经写了一些启动相机的代码,请建议任何可用于此任务的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是否为您处理此操作。