0
ここでは、ユーザーの現在の位置マーカーの周りのマップ回転のタスクを実行中にいくつかの奇妙なことがありました。だから私がやろうとしているのは、2番目の "現在地"タップのGoogleマップアプリケーションのようなものです。マーカーは、地図が移動している間は地図中心にその位置を保持する必要があります。ベアリングと位置
私はGoogleMap v2のカメラ位置オブジェクトを更新するためにベアリング値を使用する必要があると理解していました。
CameraUpdate cameraUpdatePos;
CameraPosition.Builder currentPlaceBuilder = new CameraPosition.Builder().target(loc);
if (location.hasBearing())
currentPlaceBuilder.bearing(location.getBearing());
cameraUpdatePos = CameraUpdateFactory.newCameraPosition(currentPlaceBuilder.build());
map.animateCamera(cameraUpdatePos);
私のアプリでfalse hasBearing()呼び出し結果と0.0を受け取るたびにバグが返されます。しかし、Googleマップのアプリは、この時点で私の方向性を正しく示しています。私はサービス
LocationManager manager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
googleApiClient = new GoogleApiClient.Builder(context)
.addConnectionCallbacks(gmsCallbacks)
.addOnConnectionFailedListener(gmsCallbacks)
.addApi(LocationServices.API)
.build();
locationRequest = LocationRequest.create();
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.setInterval(25 * 1000)
.setFastestInterval(5 * 1000)
.setSmallestDisplacement(1);
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder()
.addLocationRequest(locationRequest)
.setAlwaysShow(true);`
および方法を使用しています
は
`@Override
public void onConnected(@Nullable Bundle bundle) {
if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
&& ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED)
return;
Log.i(TAG, "Connected");
location = LocationServices.FusedLocationApi.getLastLocation(googleApiClient);
LocationServices.FusedLocationApi.requestLocationUpdates(googleApiClient, locationRequest, gmsCallbacks);
if (locationChangeCallback != null)
locationChangeCallback.onLocationChanged(location);
}`
をonconnected誰もがグーグルマップが自動方位マップモードのために彼らのベアリングの計算をした方法を知っていますか? 誰かがこのような状況を抱えており、助言を受けて助けてくれるかもしれません。ありがとう。
本当にありがとうございましたを助けかもしれないが、私はすでにこれを試してみました。問題は、ベアリングの価値がかなりゼロであることです。そして私は何らかの理由でコンパスセンサーを使ってGoogleマップを実現しました。私は、Googleのアプリケーションは加速度センサーやmegneticのようなこれらのセンサーを使用していると思います。しかし、私がそのようなセンサーを使用しているとき、私は同じ行動を取らない。私はすべてantsyマップと高負荷のCPUです。 – Magirus