Android 百度地图API学习(三)-----啥是坐标

本文详细介绍了百度地图API中使用的三种坐标系:经纬度坐标、平面坐标及可视区域坐标,并提供了具体的转换实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在接触的过程中,经常被一些 坐标、点、像素等概念困扰。

今天就来总结一下这些概念直接的关系

在百度地图API中,有如下几种坐标系:

  • 经纬度:通过经度(longitude)和纬度(latitude)描述的地球上的某个位置。
  • 平面坐标:投影之后的坐标(用x和y描述),用于在平面上标识某个位置。
  • 可视区域坐标:地图可视区域的坐标系(用x和y描述)。
  经纬度
这就是我们常说的地图上的坐标,经度(longitude)和纬度(latitude)是通过GPS的WGS84坐标系来显示的。但是如果要在baidu地图中显示这个点,就要经过一个转换了,否则误差很大。
  1. GeoPoint geoPoint = new GeoPoint((int) ( 22.560034 * 1E6),  
  2.       (int) (113.940657 * 1E6));//先是纬度、然后经度  
  3. GeoPoint p2 = CoordinateConvert.bundleDecode(CoordinateConvert.fromWgs84ToBaidu(geoPoint));  

intgetLatitudeE6()
返回GeoPoint的纬度,单位微度
intgetLongitudeE6()
返回GeoPoint对象的经度,单位微度
voidsetLatitudeE6(int latitudeE6)
voidsetLongitudeE6(int longitudeE6)

我们得到的坐标,要通过*1E6才能变成微度
也就是说 返回的int 要/1E6 才能变成double的正式坐标

平面坐标
就是我们用的Point类。用x,y坐标系来反应经纬坐标的投影点。一个单位就是一个像素
这里的Point(lng:Number, lat:Number) 是经度+纬度,GeoPoint(int latitudeE6, int longitudeE6)是纬度在前的哦


  1. GeoPoint geoPoint = new GeoPoint((int) ( 22.560034 * 1E6),  
  2.    (int) (113.940657 * 1E6));  
  3.      Point point = mapView.getProjection().toPixels(geoPoint, null);  
使用Projection的方法进行转换的

可视区域坐标
说白了,就是显示容器以左上角为原点显示的位置
原文地址:点击打开链接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值