【问题标题】:From double to geopoint remove me the ,从 double 到 geopoint 删除我的 ,
【发布时间】:2012-01-08 00:36:36
【问题描述】:

我有 2 个双打,纬度和经度,格式为 (X.XXXXXX)。 我正在尝试从此值创建新的 GeoPoint,但是当我转换为 GeoPoint 时,删除 , 获得此结果 geopoint(XXXX,XXXX);

Double latitudEditando = Double.parseDouble(datosLugar.get(4).toString());  
Double longitudEditando = Double.parseDouble(datosLugar.get(5).toString());   
puntoEditando = new GeoPoint((int)(latitudEditando*1e6), (int)(longitudEditando*1e6));

我做错了什么?

datosLugar.get(4) return me: 40.3138987 (Double) 
datosLugar.get(5) return me: -3.8811184 (double)
 puntoEditando return me (403138987,-38811184)

抱歉,没关系,我认为 geopoint 有 (40,00000 , 44,000)

【问题讨论】:

  • datosLugar 是什么数据类型? datosLugar.get(4)datosLugar.get(5) 长什么样子?
  • What am I doing wrong? 你在期待什么?
  • 是什么让你觉得你做错了什么?换句话说,我们不知道什么是行不通的。
  • datosLugar.get(4) 返回我:40.3138987(双)datosLugar.get(5) 返回我:-3.8811184(双)puntoEditando 返回我(403138987,-38811184)
  • 对不起,没关系,我认为地理点必须是 (3,0000 , 4,00000)

标签: java android casting double geopositioning


【解决方案1】:

来自 google 插件的GeoPoint 类以int 的形式将纬度和经度构造为微度。这很好,只要 latitudEditandolongitudEditando 是以度数表示坐标的双精度数:

new GeoPoint((int)(latitudEditando*1e6), (int)(longitudEditando*1e6));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 2015-06-16
    • 2019-10-13
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    相关资源
    最近更新 更多