0

Я на самом деле кодирую приложение на Android, и мне нужно указать определенное направление, объяснение, у меня есть фиксированная позиция и позиция моего смартфона (две в широте долготы) и Я хочу указать стрелку на направление между ними. Поэтому я искал, как ад, у меня есть компас, который отлично работает, и я попытался изменить направление указателя, изменив направление на север, получая материал getRotationMatrix, но хорошо после того, как потерял мой мозг, пытаясь не знать, что делать xD Итак, мне нужно некоторые идеи и подсказки.Ориентация на Android с двумя местоположениями

Вот мой код на всякий случай (я просто мимо onSensorChanged FUNC остальное является лишь основные инициализацый)

@Override 
public void onSensorChanged(SensorEvent event) { 

    if (event.sensor == mAccelerometer) { 
     System.arraycopy(event.values, 0, mLastAccelerometer, 0, event.values.length); 
     mLastAccelerometerSet = true; 
    } else if (event.sensor == mMagnetometer) { 
     System.arraycopy(event.values, 0, mLastMagnetometer, 0, event.values.length); 
     mLastMagnetometerSet = true; 
    } 
    if (mLastAccelerometerSet && mLastMagnetometerSet) { 
     SensorManager.getRotationMatrix(mR, null, mLastAccelerometer, mLastMagnetometer); 
     SensorManager.getOrientation(mR, mOrientation); 
     float azimuthInRadians = mOrientation[0]; 
     float azimuthInDegress = (float)(Math.toDegrees(azimuthInRadians)+360)%360; 
     RotateAnimation ra = new RotateAnimation(
       mCurrentDegree, 
       -azimuthInDegress, 
       Animation.RELATIVE_TO_SELF, 0.5f, 
       Animation.RELATIVE_TO_SELF, 
       0.5f); 

     ra.setDuration(250); 

     ra.setFillAfter(true); 

     mPointer.startAnimation(ra); 
     mCurrentDegree = -azimuthInDegress; 
    } 
} 

ответ

0

Хорошо мне удалось кое-что. Я занял свое положение, фиксированное местоположение и третье место с той же самой долготой и широтой 90. При этом у меня есть два вектора, один из которых указывает на север и один на прямой с нашим местоположением и фиксированным местоположением. Я вычисляю угол между этими векторами, и я добавляю этот угол к анимации вращения. Я не думаю, что мое решение так хорошо, но поскольку я не нашел ничего другого на форумах, я отправляю ответ ^^.

 Смежные вопросы

  • Нет связанных вопросов^_^