CMMotionManager mixare摄像头POI始终固定在北部(ios7)

CMMotionManager mixare摄像头POI始终固定在北部(ios7),ios7,camera,cmmotionmanager,Ios7,Camera,Cmmotionmanager,我正在使用mixare示例创建一个带有POI的相机视图。我确实下载了这里发布的mixare示例,并将UIAccelerator代码更新并更改为CMMotionManager,因为它并没有更新以与最新的sdk一起使用 问题是,当我启动proyect时,雷达总是固定的,我的相机在上面显示我的POI,但这仅仅是因为雷达在观察北方,而我的POI在雷达上。如果你把更多的POI放在视野中而不是在北方,它们会出现在雷达上,但我不能让te摄像机转到其他位置,它总是显示北方雷达永远不会改变方向,始终可以看到北面,

我正在使用mixare示例创建一个带有POI的相机视图。我确实下载了这里发布的mixare示例,并将UIAccelerator代码更新并更改为CMMotionManager,因为它并没有更新以与最新的sdk一起使用

问题是,当我启动proyect时,雷达总是固定的,我的相机在上面显示我的POI,但这仅仅是因为雷达在观察北方,而我的POI在雷达上。如果你把更多的POI放在视野中而不是在北方,它们会出现在雷达上,但我不能让te摄像机转到其他位置,它总是显示北方雷达永远不会改变方向,始终可以看到北面,即使我移动它,我的POI也始终在相机上的同一位置。

请给我一些想法,我现在迷路了。谢谢

我在我的代码中使用了我的方法“startListening:(CLLocationManager*)LocationManager”

在OutputAccelerationData方法上

if ([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft || [[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight) {
    rollingZ  = (acceleration.z * kFilteringFactor) + (rollingZ  * (1.0 - kFilteringFactor));
    rollingX = (acceleration.x * kFilteringFactorX) + (rollingX * (1.0 - kFilteringFactorX));
} else {
    rollingZ  = (acceleration.z * kFilteringFactor) + (rollingZ  * (1.0 - kFilteringFactor));
    rollingX = (acceleration.y * kFilteringFactorX) + (rollingX * (1.0 - kFilteringFactorX));
}
if (rollingZ > 0.0) {
    self.centerCoordinate.inclination = atan(rollingX / rollingZ) + M_PI / 2.0;
} else if (rollingZ < 0.0) {
    self.centerCoordinate.inclination = atan(rollingX / rollingZ) - M_PI / 2.0;// + M_PI;
} else if (rollingX < 0) {
    self.centerCoordinate.inclination = M_PI/2.0;
} else if (rollingX >= 0) {
    self.centerCoordinate.inclination = 3 * M_PI/2.0;
}


[self outputAccelertionData:acceleration];
if([[UIDevice currentDevice]方向]==UIDeviceOrientationAndscapeLeft | |[UIDevice currentDevice]方向]==UIDeviceOrientationAndscapeRight){
rollingZ=(加速度.z*kFilteringFactor)+(rollingZ*(1.0-kFilteringFactor));
rollingX=(加速度.x*kFilteringActorx)+(rollingX*(1.0-kFilteringActorx));
}否则{
rollingZ=(加速度.z*kFilteringFactor)+(rollingZ*(1.0-kFilteringFactor));
rollingX=(加速度.y*kFilteringActorx)+(rollingX*(1.0-kFilteringActorx));
}
如果(滚动Z>0.0){
self.centercoordination.indeption=atan(rollingX/rollingZ)+M_PI/2.0;
}否则如果(滚动Z<0.0){
self.centercoordination.indeption=atan(rollingX/rollingZ)-M_-PI/2.0;//+M_-PI;
}else if(滚动X<0){
self.centerCoordinate.indeption=M_PI/2.0;
}否则如果(rollingX>=0){
自中心坐标倾角=3*M_PI/2.0;
}
[自输出加速数据:加速];
if ([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft || [[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight) {
    rollingZ  = (acceleration.z * kFilteringFactor) + (rollingZ  * (1.0 - kFilteringFactor));
    rollingX = (acceleration.x * kFilteringFactorX) + (rollingX * (1.0 - kFilteringFactorX));
} else {
    rollingZ  = (acceleration.z * kFilteringFactor) + (rollingZ  * (1.0 - kFilteringFactor));
    rollingX = (acceleration.y * kFilteringFactorX) + (rollingX * (1.0 - kFilteringFactorX));
}
if (rollingZ > 0.0) {
    self.centerCoordinate.inclination = atan(rollingX / rollingZ) + M_PI / 2.0;
} else if (rollingZ < 0.0) {
    self.centerCoordinate.inclination = atan(rollingX / rollingZ) - M_PI / 2.0;// + M_PI;
} else if (rollingX < 0) {
    self.centerCoordinate.inclination = M_PI/2.0;
} else if (rollingX >= 0) {
    self.centerCoordinate.inclination = 3 * M_PI/2.0;
}


[self outputAccelertionData:acceleration];