我正在尝试创建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,可能有什么问题? 谢谢。吉列尔莫。
答案 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);
你可以获得完美的位置。