45.44334までに-23.4456のGeoPointを取得しようとしています
Intのみを取るため、GeoPointのコンストラクターに渡す値は何ですか。
GeoPoint座標はマイクロ度(度* 1e6)に基づいています- ここ と書かれています
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を作成する必要があり、緯度/経度がある場合はどこでも
GeoPoint point = new LatLonPoint(37.234569, -122.123456);
そもそも、GeoPointにはlat/longコンストラクタがあるはずです。
私は このページ から緯度/経度を取得し、無意味にそれを書きました...それは非常にうまく機能しました、私の家はそこにあります、それがあるはずです;)
したがって、(上記)34.234569の代わりに34234569と書くだけです...覚えておいてください:1e6は1000000であり、それ以外は;)
私は解決策があなたを助けるかもしれないと思っています。
1)最初に、学位形式のデータ(場所)があります。 2)方程式によって、1000000を掛ける必要があります3)ここで、特定のGEO POINTの場所があります。
ここのように;私が次のような場所を持っている場合:Latitude:23.0395677 and Longitude:72.5660045°つまり、あなたのGeoPoint(23039568,72566045);