【发布时间】:2011-04-04 10:05:24
【问题描述】:
我正在尝试通过 45.44334 获取 -23.4456 的 GeoPoint
我将什么值传递给 GeoPoint 的构造函数,因为它只接受 Ints。
【问题讨论】:
我正在尝试通过 45.44334 获取 -23.4456 的 GeoPoint
我将什么值传递给 GeoPoint 的构造函数,因为它只接受 Ints。
【问题讨论】:
GeoPoint 坐标以微度(度 * 1e6)为单位——写成 here
float lat = -23.4456f;
float lng = 45.44334f;
GeoPoint gp = new GeoPoint((int)(lat * 1E6), (int)(lng * 1E6));
【讨论】:
我更喜欢创建一个 LatLonPoint:
private static final class LatLonPoint extends GeoPoint {
public LatLonPoint(double latitude, double longitude) {
super((int) (latitude * 1E6), (int) (longitude * 1E6));
}
}
然后无论我需要创建一个地理点,我都有一个纬度/经度,我只是这样做
GeoPoint point = new LatLonPoint(37.234569, -122.123456);
首先在 GeoPoint 上确实应该有一个 lat/long 构造函数。
【讨论】:
我从this page 拿了纬度/经度,然后毫无意义地写了它……效果很好,我的家就在那里,它应该在哪里;)
所以不要写(上面的)34.234569,只写 34234569...记住:1e6 是 1000000,没有别的;)
【讨论】:
我正在寻找解决方案,可能会对您有所帮助。
1)首先你有学位格式的数据(位置)。 2)通过方程式,您必须将其乘以 1000000 3)现在,你有特定的地理点位置。
喜欢这里;如果我有这样的位置:纬度:23.0395677 和经度:72.5660045° 所以,你的 GeoPoint(23039568,72566045);
【讨论】: