/*
* Copyright (c) 2015 Daimler AG / Moovel GmbH
*
* All rights reserved
*/
package com.car2go.maps.google;
import com.car2go.maps.CameraUpdate;
import com.car2go.maps.google.adapter.AnyMapAdapter;
import com.car2go.maps.google.adapter.CameraUpdateAdapter;
import com.car2go.maps.model.LatLng;
import com.car2go.maps.model.LatLngBounds;
/**
* Creates {@link CameraUpdate} objects which can be used to update map camera
*/
public class CameraUpdateFactory implements com.car2go.maps.CameraUpdateFactory {
private static final CameraUpdateFactory instance = new CameraUpdateFactory();
private CameraUpdateFactory() {
}
public static CameraUpdateFactory getInstance() {
return instance;
}
@Override
public CameraUpdate newLatLngZoom(LatLng latLng, float zoomLevel) {
com.google.android.gms.maps.model.LatLng googleLatLng = AnyMapAdapter.adapt(latLng);
return new CameraUpdateAdapter(
com.google.android.gms.maps.CameraUpdateFactory.newLatLngZoom(
googleLatLng,
zoomLevel
)
);
}
@Override
public CameraUpdate newLatLngBounds(LatLngBounds bounds, int padding) {
com.google.android.gms.maps.model.LatLngBounds googleBounds = AnyMapAdapter.adapt(bounds);
return new CameraUpdateAdapter(
com.google.android.gms.maps.CameraUpdateFactory.newLatLngBounds(
googleBounds,
padding
)
);
}
@Override
public CameraUpdate zoomTo(float zoomLevel) {
return new CameraUpdateAdapter(
com.google.android.gms.maps.CameraUpdateFactory.zoomTo(zoomLevel)
);
}
}