重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
定一个原点。 定一个比例尺 然后根据点与原点的距离,得到坐标,再通过与原点的坐标比,得到距离,再转成经纬度
专业领域包括成都网站制作、成都网站建设、商城网站建设、微信营销、系统平台开发, 与其他网站设计及系统开发公司不同,创新互联建站的整合解决方案结合了帮做网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,为客户提供全网互联网整合方案。
由于键盘上没有 ° 键,所以我在程序中把它换成 * 键了。
运行下面程序,从控制台输入 40582974 ,回车 ,输出结果:22*32.7658′
若
输入:57335948
则
输出:31*51.1983'
import java.math.BigDecimal;
import java.util.Scanner;
public class LatitudeTransform {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
String in = sca.nextLine();
//将控制台接收到的输入转成数字
long num = Long.parseLong(in);
//利用整除舍弃余数得到度数值
long du = (num / 30000) / 60;
//将控制台接收到的数值除以30000,得到度和分的混合结果,再对60取余,得到分的部分
BigDecimal fen = new BigDecimal(num).divide(new BigDecimal(30000), 4, BigDecimal.ROUND_HALF_UP).remainder(
new BigDecimal(60));
System.out.println(du + "*" + fen + "'");
}
}
下面的部分是,在控制台输入22°32.7658′ ,回车得到40582974。开始的时候读你的问题理解反了,所以先写的这个,也给你吧,要是没用就算了~呵呵。
import java.util.Scanner;
public class LatitudeTransform {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
String in = sca.nextLine();
String result = transform(in);
System.out.println(result);
}
private static String transform(String in) {
//将输入的字符串分成两截,分别为度数du_string,分数fen_string
String du_string = in.substring(0, in.indexOf("*"));
//substring方法两个参数遵循规则"前包含后不包含",例,”1234“.substring(0,2)返回的结果是index为0到1的子串,即"12"
String fen_string = in.substring(in.indexOf("*") + 1, in.indexOf("'"));
double du = Double.parseDouble(du_string);
double fen = Double.parseDouble(fen_string);
Long result = (long) ((du * 60 + fen) * 30000);
return result.toString();
}
}
见范例代码:
mBaiduMap.setOnMapClickListener(new OnMapClickListener(){
@Override
public void onMapClick(LatLng point) {
// TODO Auto-generated method stub
//这里的point就是点击屏幕所获得的经纬度
//下面两个函数可以将经纬度转换为屏幕的点坐标,
//另一个是将屏幕点转换为经纬度
//mBaiduMap.getProjection()
// .fromScreenLocation(point);
//mBaiduMap.getProjection()
// .toScreenLocation(latlng);
}
@Override
public boolean onMapPoiClick(MapPoi arg0) {
// TODO Auto-generated method stub
return false;
}
});
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Color;
public class LX3_3 extends Applet {
public void paint(Graphics g) {
g.setColor(Color.red);//设置红颜色
g.drawOval(35,35,100,60);//画椭圆(圆心、宽和高)
g.fillOval(200,15,60,100);//画具有填充色的圆
g.setColor(Color.blue);//设置蓝颜色
g.drawRect(20,130,80,80);//画矩形
g.fillRect(120,130,80,80);//画具有填充色的矩形
g.drawRoundRect(220,130,80,80,20,20);//画圆角矩形
g.fillRoundRect(320,130,80,80,20,20);//画具有填充色的 圆角矩形
}
}
该程序是在Myeclipse的环境下运行的
在二维平面内,画长方形等都只需要改变点的坐标即可实现平移,旋转,缩放
上面还加入了颜色,可供参考
水平有限,但希望对你有帮助