如何在“画布”中绘制坐标(纬度,经度)并将其缩放以仅显示近于50米的坐标?

时间:2018-11-15 13:51:47

标签: android canvas gps paint latitude-longitude

我正在尝试在画布中表示一个经度和纬度的ArrayList,但是我只想显示距离给定经度和纬度50米最近的那些点。我的画布是240dp宽度和240高度。 getWidth()和getHeight()给了我600x600 px,所以我想代表我在画布中间的位置以及一个仅在画布边界与我有50米距离的点。

我的主要问题是我不知道如何将经纬度转换为点x,y,并告诉画布其面积为50米。

我的坐标是: PointF me = new PointF(lon,lat);

其他人协调: ArrayList people = new ArrayList();

所以我假装画布区域从画布中央的给定位置显示了一个半径为50米的范围。

enter image description here

1 个答案:

答案 0 :(得分:0)

您不会那样做。您可以遍历想要显示的点列表,并检查它们的距离。然后,您会看到它们离您有多远。靠得很近的人将把纬度/经度转换为x / y,然后绘制到画布上。您不会告诉画布它有多大(以米为单位)或中心是多少,画布是一种绘画概念,对纬度或经度一无所知。它只知道像素和绘图命令。