Я пытаюсь реализовать Google Maps в моем приложении.
Требование:
Во время движения мой значок маркера должен быть зафиксирован в центре экрана (всегда в направлении на север), а карта должна двигаться влево-вправо вниз и вращаться, когда пользователь поворачивает улицу.
Как я пытаюсь сделать это как
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(position, 5));
float bearing = getBearing(Lastposition,newPosition);
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(newPosition)
.zoom(15)
.bearing(bearing)
.tilt(0)
.build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
public static float getBearing(LatLng from, LatLng to) {
Location fromLocation = new Location("");//provider name is unnecessary
fromLocation.setLatitude(from.latitude);
fromLocation.setLongitude(from.longitude);
Location toLocation = new Location("");//provider name is unnecessary
toLocation.setLatitude(to.latitude);
toLocation.setLongitude(to.longitude);
Log.i("Bearing",fromLocation.bearingTo(toLocation)+"");
return fromLocation.bearingTo(toLocation);
}
Результаты:
Маркер движется по дорожке, но сама камера не движется в зависимости от поворотов на улицах. Я надеюсь, что смог сделать вещи понятными. Пожалуйста, помогите, что может быть проблемой или лучшим решением для этого. Спасибо