Согласно google developer's guide here, анимировать камеру на определенной позицииАнимационные камеры на определенной позиции
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(MOUNTAIN_VIEW) // Sets the center of the map to Mountain View
.zoom(17) // Sets the zoom
.bearing(90) // Sets the orientation of the camera to east
.tilt(30) // Sets the tilt of the camera to 30 degrees
.build(); // Creates a CameraPosition from the builder
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
Но, в api reference, CameraPosition уже имеет конструктор, определенный как:
public CameraPosition (LatLng target, float zoom, float tilt, float bearing)
Итак, если я пишу как:
CameraPosition cameraPosition = new CameraPosition(latLng,9,0,0);
или
CameraPosition cameraPosition = new CameraPosition.Builder().target(latLng).zoom(9).build();
они оба одинаковые или разные? Существует ли необходимость использования статического вложенного класса CameraPosition.Builder в соответствии с ссылкой?
Кроме того, оба имеют идентичное описание:
конструирует CameraPosition.
public CameraPosition build():
Строит CameraPosition.
Я сомневаюсь, что если есть какая-то разница между словами constructs
и builds
. К сожалению, нет никакой информации по всему интернету об их различии (если существует). Может ли кто-нибудь помочь?
EDIT: Из комментариев кто-то отметил, что он использует шаблон проектирования Builder. Хотя, я не могу понять, почему он используется здесь? В чем необходимость избыточного конструктора? Может ли кто-нибудь помочь мне лучше понять?
http://en.wikipedia.org/wiki/Builder_pattern – Andy
@ Andy Hi..thanks для справки ... можете ли вы объяснить, в чем разница между их использованием? я буду признателен. –