2015-09-11 2 views
0

Когда я открываю приложение, он показывает весь мир, и мне нужно постоянно увеличивать масштаб изображения, чтобы правильно просматривать место. Как сделать камеру приближенным примерно в 11 раз, как будто мне нужно дважды щелкнуть?Как увеличить изображение на карте Google Maps?

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_maps); 
     SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
       .findFragmentById(R.id.map); 
     mapFragment.getMapAsync(this); 

    } 

    @Override 
    public void onMapReady(GoogleMap map) { 
     map.addMarker(new MarkerOptions() 
       .position(new LatLng(10.625176, -61.354915)) 
       .title("Tru-Valu, Trincity Mall")); 
    } 

ответ

0

попробовать это:

LatLng coordinate = new LatLng(lat, lng); 
CameraUpdate yourLocation = CameraUpdateFactory.newLatLngZoom(coordinate, 5); 
map.animateCamera(yourLocation); 
0

Подобный ответ Milad Нури, первоначально пользователь может не иметь Место на и FusedLocationProvider не будет иметь последнее место, тем не менее, так как клиент API hasn» t началось. Итак, мой трюк заключается в том, чтобы сохранить последнюю длину и долготу пользователя в savedPreferences и загрузить это местоположение в качестве LatLng для начальной анимации камеры при запуске приложения.

Я сохраняю LatLng, когда он обновляется последним, поэтому он просто запоминает последнюю широту и долготу, которые были обновлены для местоположения пользователя на карте.

1

GoogleMap имеет методы «перемещения» и «анимации» для позиционирования и масштабирования.

  • moveCamera(CameraUpdate update) который переустанавливает камеру в соответствии с инструкциями, указанными в обновлении.
  • animateCamera(CameraUpdate update), который оживляет движение камеры от текущей позиции до положения, определенного в обновлении.

Вы можете получить объект CameraUpdate используя CameraUpdateFactory. Вот несколько примеров.

  • CameraUpdateFactory.newLatLng(LatLng latLng)

Возвращает CameraUpdate, который перемещает центр экрана к широты и долготы, заданного LatLng объекта. Это центрирует камеру на объекте LatLng.

  • CameraUpdateFactory.newLatLngZoom(LatLng latLng, float zoom)

Возвращает CameraUpdate, который перемещает центр экрана к широты и долготы, заданного LatLng объекта, и переходит к заданного уровня масштабирования.

  • CameraUpdateFactory.zoomBy(float amount)

Возвращает CameraUpdate, который сдвигает уровень масштабирования текущей точки камеры.

Другие вспомогательные методы в CameraUpdateFactory documenation. Кроме того, здесь очень полезно documentation from Google Developers относительно перемещения камеры GoogleMap.

Так что, если вы хотите, чтобы увеличить масштаб Tru-Valu, Trincity Mall место, это то, как ваш код должен выглядеть

googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(
     new LatLng(10.625176, -61.354915), 16f)); 
Смежные вопросы