【问题标题】:Converting a string to an int for an Android Geopoint将字符串转换为 Android Geopoint 的 int
【发布时间】:2012-08-09 05:45:04
【问题描述】:

我从 Google 地方信息 URL 中以字符串形式获取纬度和经度。现在我想使用获得的坐标在地图上放置一个图钉。有些事情很愚蠢,因为我试图将字符串解析为 GeoPoint 的整数,结果显示为 0,0,因此引脚放置在非洲海岸附近。这是我的代码:

    int lati5Int, longi5Int;        

String latiString = in.getStringExtra(TAG_GEOMETRY_LOCATION_LAT);
    String longiString = in.getStringExtra(TAG_GEOMETRY_LOCATION_LNG);
    TextView getLatiStringtv.setText(latiString);
    TextView getLongiStringtv.setText(longiString);

    try { 
        lati5Int = Integer.parseInt(getLatiStringtv.getText().toString());
        longi5Int = Integer.parseInt(getLongiStringtv.getText().toString());
    } catch(NumberFormatException nfe) { 
       System.out.println("Could not parse " + nfe); 
    }
// shows that the ints are zeros
    doubleLatiTV.setText(Integer.toString(lati5Int));
    doubleLongiTV.setText(Integer.toString(longi5Int));

//--- GeoPoint---
newPoint = new GeoPoint(lati5Int,longi5Int);
mapController.animateTo(newPoint);
mapController.setZoom(17);
//--- Place pin ----
marker = getResources().getDrawable(R.drawable.malls);      

OverlayItem overlaypoint = new OverlayItem(newPoint, "Boing", "Whattsup");
CustomPinpoint customPin = new CustomPinpoint(marker, SMIMap.this);
customPin.insertPinpoint(overlaypoint);
overlayList.add(customPin);

我认为错误在于整数的解析:

            lati5Int = Integer.parseInt(getLatiStringtv.getText().toString());
        longi5Int = Integer.parseInt(getLongiStringtv.getText().toString());

我认为解析会看到坐标中的小数点并吓坏了。那么如何将坐标字符串解析为整数,以便 GeoPoint 将它们视为格式正确的坐标,例如:30.487263, -97.970799

【问题讨论】:

  • 为什么不解析为双精度然后乘以E06。以确保您可以将 int 作为最后一步进行转换

标签: android geopoints


【解决方案1】:

GeoPoint 不想将它们视为 30.487263、-97.970799。它希望它们为整数 30487263、-97970799。所以就像 A.A 说的,先解析为 double,乘以 E6,然后转换为 int。

所以可能是这样的:

lati5Int = Double.parseDouble(getLatiStringtv.getText().toString());
latiE6 = (int) (lati5Int*1000000);

【讨论】:

  • 非常感谢!有效。菜鸟的错误,我知道 GeoPoints 没有小数点,但它没有记录在我的脑海中。
猜你喜欢
  • 1970-01-01
  • 2011-10-02
  • 2011-03-06
  • 1970-01-01
  • 2018-07-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多