📄 maputil.java
字号:
package com.oyc.mapxtreme.applet.util;
import java.awt.Point;
/**
* 地图计算工具
* @author 三峡大学理学院 欧阳超
*
*/
public class MapUtil {
/**
* 将视野zoom1下的长度转换成视野zoom2下的长度
* @param zoom1 视野1
* @param zoom2 视野2
* @param length
* @return
*/
public int turnLength(double zoom1, double zoom2, int length){
return (int) ((zoom1 * length) / zoom2);
}
/**
* 将视野zoom1下点的坐标转换成视野zoom2下点的坐标,转换前后坐标原点始终为绘图区左上角
* @param zoom1 视野1
* @param zoom2 视野2
* @param point 要转换的点
* @param width 绘图区的宽度
* @param height 绘图区的高度
* @return
*/
public Point turnPoint(double zoom1, double zoom2, Point point, int width, int height){
//将要转换的坐标映射成以绘图区中心为原点的坐标值
point.x = point.x - width / 2;
point.y = height / 2 - point.y;
//得到新视野下以绘图中心为原点的坐标
int x = (int) ((zoom1 * point.x) / zoom2);
int y = (int) ((zoom1 * point.y) / zoom2);
//转换成绘图区左上角的坐标
x = width/2 + x;
y = height/2 - y;
return new Point(x, y);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -