地图V2:将距离转换为像素

3

我一直在搜索,但找不到答案。我正在使用Google Map V2。有没有办法将距离(米)转换为屏幕上的像素?我需要知道距离对应的像素值。我已经有了距离和缩放级别。

谢谢您的帮助!


你能澄清一下吗?你是要转换两点之间的距离吗?还是想知道你的屏幕显示了多少英里? - Chris Stillwell
两点之间的距离是已知的。但我只知道距离,不知道这两个点的位置。实际上,我有一个圆(所以我知道圆心和半径),我想知道这个半径相当于多少像素。 - Snake
1个回答

8

如果我理解正常的话,你有一个显示地图的MapFragment。你知道屏幕上显示的两个点之间的距离(以米为单位),并希望计算这两个点之间的像素距离。如果你知道这两个点的LatLng位置,那么可以使用Projection类来实现:

Point point1 = map.getProjection().toScreenLocation(latLng1);
Point point2 = map.getProjection().toScreenLocation(latLng2);

然后您只需要使用距离数学公式:enter image description here


1
谢谢您的回答。然而我不知道2个点的经纬度,我只知道它们之间的距离(以米为单位)和一个点的经纬度。例如,想象一个以某个中心点为圆心、半径为radius的圆。我想知道这个半径相当于多少像素。 - Snake
+1 感谢答案,对于那些感到懒惰的人 :) 这里是方程 Math.sqrt((Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2))); - A.Alqadomi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接