Плюсы и минусы использования animateToRegion () и animateCamera () - PullRequest
5 голосов
/ 06 июня 2019

Построение ответных собственных карт и попытка решить за и против использования animateToRegion и animateCamera. В прошлом мы обрабатывали все на региональной основе.

Похоже, что регион будет лучшим выбором, так как вам не придется беспокоиться о различиях между возвышением и масштабированием, а также при необходимости более точный контроль точной области, отображаемой при необходимости.

У кого-нибудь есть мысли или переживания, которые привели их к одному или другому?

1 Ответ

0 голосов
/ 14 июня 2019

Я только что сделал этот переключатель сам. Я обнаружил, что animateCamera() более универсален и допускает более чистый синтаксис.

Самым большим плюсом для animateCamera() является то, что вы можете сделать несколько анимаций за один вызов метода.

Пример центрирования по координатам и поворота камеры на 180 градусов с помощью animateCamera():

this.map.animateCamera({
  center: {
    latitude: 0,
    longitude: 0,
  },
  heading: 180,
});

Если вы хотите сделать то же самое с animateToRegion(), вам нужно вызвать два метода:

this.map.animateToRegion({
  latitude: 0,
  longitude: 0,
});
this.map.animateCamera({
  heading: 180,
});

Не так чисто.

На данный момент константой для animateCamera() является то, что вы, похоже, не можете передать latitudeDelta и longitudeDelta в свойство center, как вы можете с помощью региона, указанного здесь .

Короче говоря, если вам не нужно использовать latitudeDelta и longitudeDelta, тогда animateCamera() - это путь. Если бы мне пришлось размышлять, я бы сказал, что animateToRegion() устареет, как и другие методы в будущем, в пользу animateCamera().

...