私はJavaコードでJavaScriptを使用する単純なコードを持っているので(GoogleのGWTを使用)、ユーザーの緯度を取得し、その数値をJavaコードに戻して計算できるようにするだけです。
ただし、変数 x= position.coords.latitude を Java コードに戻すことはできません。なぜなら、alert(x) を呼び出すと画面に正しい緯度が表示されますが、返そうとすると xはまだ null で、何も起こりません。
public static native Number findlatitude() /*-{
var x;
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
x = position.coords.latitude;
alert(x);
});
}
return x;
}-*/;