相关疑难解决方法(0)

如何在放大时找到点击的绝对位置

请参阅下面的每个部分,以三种不同的方式描述我的问题.希望能帮助人们回答.

问题:在给定原始比例点和比例因子的情况下,如果只有以缩放图像表示的坐标,如何在画布/用户空间中找到一对坐标?

实践中的问题:

我目前正在尝试复制应用程序中使用的缩放功能,例如图库/地图,当您可以缩放缩放/缩小时缩放移向夹点的中点.

在向下我保存缩放的中心点(基于当前屏幕的X,Y坐标).然后我在检测到"缩放"手势时执行此功能:

class ImageScaleGestureDetector extends SimpleOnScaleGestureListener {
    @Override
    public boolean onScale(ScaleGestureDetector detector) {
        if(mScaleAllowed) 
            mCustomImageView.scale(detector.getScaleFactor(), mCenterX, mCenterY);
        return true;
    }
}   
Run Code Online (Sandbox Code Playgroud)

CustomImageView的缩放功能如下所示:

public boolean scale(float scaleFactor, float focusX, float focusY) {
    mScaleFactor *= scaleFactor;

    // Don't let the object get too small or too large.
    mScaleFactor = Math.max(MINIMUM_SCALE_VALUE, Math.min(mScaleFactor, 5.0f));

    mCenterScaleX = focusX;
    mCenterScaleY = focusY;

    invalidate();

    return true;
}
Run Code Online (Sandbox Code Playgroud)

通过覆盖onDraw方法来实现缩放图像的绘制,该方法在中心周围缩放画布并将图像绘制到其中.

@Override
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    canvas.save();
    canvas.translate(mCenterScaleX, mCenterScaleY);
    canvas.scale(mScaleFactor, mScaleFactor);
    canvas.translate(-mCenterScaleX, -mCenterScaleY);
    mIcon.draw(canvas); …
Run Code Online (Sandbox Code Playgroud)

math android zooming

29
推荐指数
1
解决办法
1万
查看次数

Android-如何从地图视图获取地图坐标

在我的应用程序中,我正在使用Google地图上的标记显示地点。但是我会立即标记所有我不想做的地方。我想通过获取地图坐标来显示仅适合屏幕的位置,如下所示:

在此处输入图片说明

我只想通过发送地图坐标来从源中获取此范围内可用的位置。我不确定是否应该从屏幕的各个角落捕获所有4个坐标?

谁能帮我解决这个问题?

android latitude-longitude android-maps-v2

5
推荐指数
1
解决办法
3870
查看次数