【问题标题】:Android GeoPoint with lat/long values具有纬度/经度值的 Android GeoPoint
【发布时间】:2011-04-04 10:05:24
【问题描述】:

我正在尝试通过 45.44334 获取 -23.4456 的 GeoPoint

我将什么值传递给 GeoPoint 的构造函数,因为它只接受 Ints。

【问题讨论】:

标签: android android-mapview


【解决方案1】:

GeoPoint 坐标以微度(度 * 1e6)为单位——写成 here

float lat = -23.4456f;
float lng = 45.44334f;
GeoPoint gp = new GeoPoint((int)(lat * 1E6), (int)(lng * 1E6));

【讨论】:

  • “Google Maps Android API 第 1 版已于 2012 年 12 月 3 日正式弃用。”
【解决方案2】:

我更喜欢创建一个 LatLonPoint:

private static final class LatLonPoint extends GeoPoint {
    public LatLonPoint(double latitude, double longitude) {
        super((int) (latitude * 1E6), (int) (longitude * 1E6));
    }
}

然后无论我需要创建一个地理点,我都有一个纬度/经度,我只是这样做

GeoPoint point = new LatLonPoint(37.234569, -122.123456);

首先在 GeoPoint 上确实应该有一个 lat/long 构造函数。

【讨论】:

    【解决方案3】:

    我从this page 拿了纬度/经度,然后毫无意义地写了它……效果很好,我的家就在那里,它应该在哪里;)

    所以不要写(上面的)34.234569,只写 34234569...记住:1e6 是 1000000,没有别的;)

    【讨论】:

      【解决方案4】:

      我正在寻找解决方案,可能会对您有所帮助。

      1)首先你有学位格式的数据(位置)。 2)通过方程式,您必须将其乘以 1000000 3)现在,你有特定的地理点位置。

      喜欢这里;如果我有这样的位置:纬度:23.0395677 和经度:72.5660045° 所以,你的 GeoPoint(23039568,72566045);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-19
        • 2018-02-26
        • 2023-03-28
        • 2012-02-16
        • 2013-09-09
        • 2021-10-10
        • 1970-01-01
        相关资源
        最近更新 更多