Я пытаюсь использовать что-то вроде компаса, передавая его значениям долготы/широты, чтобы указать на конкретное местоположение, мой код может рисовать стрелку при перемещении телефона (используя GPS) для определения местоположения.
Я хочу использовать изображение вместо рисунка
public void draw(Canvas canvas) {
double angle = calculateAngle(currentLongitude, currentLatitude, targetLongitude, targetLatitude);
//Correction;
angle-=90;
//Correction for azimuth
angle-=azimuth;
if((getContext() instanceof Activity) && ((Activity)getContext()).getWindowManager().getDefaultDisplay().getOrientation()==Configuration.ORIENTATION_PORTRAIT)angle-=90;
while(angle<0)angle=angle+360;
Rect rect = canvas.getClipBounds();
int height = rect.bottom-rect.top;
int width = rect.right-rect.left;
int left = rect.left;
int top = rect.top;
}
Вам нужно сделать две вещи:
Несколько трюков, возможно, было бы быстрее предварительно повернуть изображение, когда ваша программа запускается, а не вращает ее каждый раз, когда вы рисуете; однако это также потребует больше памяти.