如何使用纬度和经度旋转图像

Posted

技术标签:

【中文标题】如何使用纬度和经度旋转图像【英文标题】:how to rotate image using latitude and longitude 【发布时间】:2015-01-22 02:25:28 【问题描述】:

你好,我想按纬度和经度旋转图像视图,假设我有

lat/LNG: (33.6343541968021,73.06278146803379)

现在我想让我的图像视图(针)指向这个位置,我该怎么做? 我正在这样做

 public void onSensorChanged(SensorEvent event) 


                float degree = Math.round(event.values[0]);


        RotateAnimation ra1 = new RotateAnimation(
                currentDegree, 
                -degree,
                Animation.RELATIVE_TO_SELF, 0.5f, 
                Animation.RELATIVE_TO_SELF,
                0.5f);

        // how long the animation will take place
        ra1.setDuration(0);

        // set the animation after the end of the reservation status
        ra1.setFillAfter(true);
        compass_img.startAnimation(ra1);
        currentDegree= -degree;

我正在使用方向传感器

【问题讨论】:

【参考方案1】:

试试这个方法

// Get the image we want to work with from a URL
Bitmap myBitmap = BitmapFactory.decodeStream(downloadImageFromWeb());

// or just load a resource from the res/drawable directory:
Bitmap myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.android1);

// find the width and height of the screen:
Display d = getWindowManager().getDefaultDisplay();
int x = d.getWidth();
int y = d.getHeight();

// get a reference to the ImageView component that will display the image:
ImageView img1 = (ImageView)findViewById(R.id.img1);

// scale it to fit the screen, x and y swapped because my image is wider than it is tall
Bitmap scaledBitmap = Bitmap.createScaledBitmap(myBitmap, y, x, true);

// create a matrix object
Matrix matrix = new Matrix();
matrix.postRotate(-90); // anti-clockwise by 90 degrees

// create a new bitmap from the original using the matrix to transform the result
Bitmap rotatedBitmap = Bitmap.createBitmap(scaledBitmap , 0, 0, scaledBitmap .getWidth(), scaledBitmap .getHeight(), matrix, true);

// display the rotated bitmap
img1.setImageBitmap(rotatedBitmap);

检查Create our Android Compass 和Rotating a Bitmap in Android

【讨论】:

如何使用经纬度旋转图像? @John 检查sunil-android.blogspot.in/2013/02/… 谢谢,但我的问题不同.....我想在 Qibla 指南针应用程序中指向特定位置,在 qibla 指南针应用程序箭头指向 qibla 时,如果我们旋转设备,它仅指向 qibla这就是我需要的

以上是关于如何使用纬度和经度旋转图像的主要内容,如果未能解决你的问题,请参考以下文章

如果纬度/经度上有多个标记,我如何旋转地图标记

使用纬度和经度得到包含位置的平铺图像,但是如何精确定位该位置?

MKMapView 如何将经度纬度转换回厘米?

如何从旋转矩阵中获取用户视点?

如何使用纬度,经度和值作为幅度正确绘制密度热图?

Android:如何在给定角度转换纬度和经度?