【问题标题】:Drawing Latitude and Longitude to screen将纬度和经度绘制到屏幕上
【发布时间】:2013-09-30 01:13:57
【问题描述】:

如果我像这样从纬度和经度计算 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 点绘制在屏幕内?即,屏幕是否代表世界的 2d 视图,这样您将永远无法从屏幕上画一个点?

纬度和经度的值范围是 -90 到 90 和 -180 到 180..

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

任何帮助将不胜感激!

【问题讨论】:

    标签: java android


    【解决方案1】:

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    相关资源
    最近更新 更多