绘制纬度和经度来筛选

时间:2013-09-29 16:28:31

标签: java android

如果我从纬度和经度计算X轴和Y轴,如下:

private static final int    EARTH_RADIUS    = 6371;
private static final double FOCAL_LENGTH    = 500;

                    latitude = latitude * Math.PI / 180;
                    longitude = longitude * Math.PI / 180;

                    double x = EARTH_RADIUS * Math.sin(latitude) * Math.cos(longitude);
                    double y = EARTH_RADIUS * Math.sin(latitude) * Math.sin(longitude);
                    double z = EARTH_RADIUS * Math.cos(latitude);

                    double projectedX = x * FOCAL_LENGTH / (FOCAL_LENGTH + z);
                    double projectedY = y * FOCAL_LENGTH / (FOCAL_LENGTH + z);

我如何确保在屏幕内绘制X和Y点?也就是说,让屏幕代表一个世界的二维视图,这样你就永远无法从屏幕上画出一个点?

纬度和经度值介于-90到90和-180到180之间。

我不想使用谷歌服务 - 没有MapView或任何与谷歌地图相关的东西......

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

获取设备的宽度和高度,并将其除以纬度和经度范围。

例如,设备宽度为300px,经度范围为-180到180.这意味着300除以360.