具有lat/long值的Android GeoPoint

Ian*_*ink 30 android android-mapview

我想通过45.44334获得-23.4456的GeoPoint

我将什么值传递给GeoPoint的构造函数,因为它只需要Int.

Its*_*sik 73

GeoPoint坐标基于微度(度*1e6) - 写在这里

float lat = -23.4456f;
float lng = 45.44334f;
GeoPoint gp = new GeoPoint((int)(lat * 1E6), (int)(lng * 1E6));
Run Code Online (Sandbox Code Playgroud)


小智 30

而不是在我的应用程序中重复数学,我更喜欢创建一个LatLonPoint:

private static final class LatLonPoint extends GeoPoint {
    public LatLonPoint(double latitude, double longitude) {
        super((int) (latitude * 1E6), (int) (longitude * 1E6));
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,无论我需要创建一个GeoPoint,我都有一个lat/lon

GeoPoint point = new LatLonPoint(37.234569, -122.123456);
Run Code Online (Sandbox Code Playgroud)

首先应该在GeoPoint上有一个lat/long构造函数.


小智 6

我从这个页面拿了lat/long 并且没有任何意义地写了它...它工作得非常好,我的家就在那里,应该在哪里;)

所以代替(上图)34.234569只需写34234569 ...记住:1e6是1000000,没别的;)