在Android中生成GeoPoint时出现问题

时间:2011-08-19 04:18:05

标签: android location

我正在尝试创建GeoPoints,但到目前为止我还不能。

double latitudeUpperLeft = -34.567645; 
double longitudeUpperLeft = -58.497734;
double latitudeBottomRight = -34.62558;
double longitudeBottomRight = -58.42495;

GeoPoint geoPointUpperLeft = calculateGeoPoint(latitudeUpperLeft, longitudeUpperLeft);
GeoPoint geoPointBottomRight = calculateGeoPoint(latitudeBottomRight, longitudeBottomRight);

这是辅助方法:

public static GeoPoint calculateGeoPoint(double latitude, double longitude) {
    Double latE6 = latitude * 1E6;
    Double lngE6 = longitude * 1E6;
    return  new GeoPoint(latE6.intValue(), lngE6.intValue());
}

我在返回helper方法时遇到InvocationTargetException,可能有什么问题? 谢谢。吉列尔莫。

3 个答案:

答案 0 :(得分:5)

你能告诉我这是否有效。

public static GeoPoint calculateGeoPoint(double latitude, double longitude) {
    return  new GeoPoint((int)(latitude * 1E6), (int)(longitude * 1E6));
}

答案 1 :(得分:1)

我找到了答案in the anddev.org forum。 问题出现在清单中,不知何故它错过了这个条目:

<uses-library android:name="com.google.android.maps" />

添加后,它开始起作用。

答案 2 :(得分:0)

如果您想使用Directly GeoPoint。您将按照以下步骤操作:

1)首先,您有度数合成的数据(位置)。 2)通过公式,你必须乘以1000000 3)现在,您有特定的GEO POINT位置。

喜欢这里;如果我的位置如下:纬度:23.0395677,经度:72.5660045°那么,你的GeoPoint(23039568,72566045);

你可以获得完美的位置。