java 1e6,java-GeoPoint getLatitudeE6()返回-80000000,但getLong...
我似乎無法找出的非常奇怪的錯誤,已經花了一個小時的時間試圖重構以解決此問題,但是我似乎無法弄清楚,也許是全新的眼睛就能為我提供幫助.下面列出的是一小段代碼.任何幫助表示贊賞.
樣本KML坐標字符串
-98.493095,29.416311,0.000000
KMLHandler.java(我以字符串格式在kml中讀取)
String[] coords = s.split(",");
if ( coords.length == 3 ) {
GeoPoint gp = GeoPointUtils.getGeoPoint(coords[0].trim(), coords[1].trim());
((Region)overlayItem).addCoordinate(gp);
Log.d(TAG, "gp.getLat(): " + gp.getLatitudeE6())
Log.d(TAG, "gp.getLong():" + gp.getLongitudeE6());
}
GeoPointUtils.java
public static GeoPoint getGeoPoint(double latitude , double longitude) {
Log.d(TAG, "GeoPointUtils.getGeoPoint(double)");
Log.d(TAG, "Incoming lat -> " + latitude);
Log.d(TAG, "Converted lat -> " + (int) (latitude * 1E6));
Log.d(TAG, "Incoming long -> " + longitude);
Log.d(TAG, "Converted long -> " + (int) (longitude * 1E6));
return new GeoPoint((int) (latitude * 1E6), (int) (longitude * 1E6));
}
public static GeoPoint getGeoPoint(String latitude , String longitude) {
Log.d(TAG, "GeoPointUtils.getGeoPoint(String)");
Log.d(TAG, "Incoming lat -> " + latitude);
Log.d(TAG, "Converted lat -> " + Double.parseDouble(latitude));
Log.d(TAG, "Incoming long -> " + longitude);
Log.d(TAG, "Converted long -> " + Double.parseDouble(longitude));
return getGeoPoint(Double.parseDouble(latitude), Double.parseDouble(longitude));
}
Logcat結果(語法突出顯示很抱歉)
GeoPointUtils.getGeoPoint(String)
Incoming lat -> -98.493095
Converted lat -> -98.493095
Incoming long -> 29.416311
Converted long -> 29.416311
GeoPointUtils.getGeoPoint(double)
Incoming lat -> -98.493095
Converted lat -> -98493095
Incoming long -> 29.416311
Converted long -> 29416311
gp.getLat(): -80000000
gp.getLong(): 29416311
總結
以上是生活随笔為你收集整理的java 1e6,java-GeoPoint getLatitudeE6()返回-80000000,但getLong...的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 龙格库塔法matlab求解微分方程组,微
- 下一篇: php server script na
