Изменить уровень масштабирования с помощью setFocus для нескольких регионов в jVectorMap - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть ряд данных с функцией фильтрации нескольких регионов.

Я включил setFocus на моей карте, чтобы иметь возможность центрировать карту после фильтрации.

Похоже, масштаб работает только с выделением одного региона.

Можно ли уменьшить масштаб карты на 2 уровня после фильтрации?

Вот пример набора данных:

var codes = ['AU', 'AF', 'BD', 'IN'];

Вот мой настройки карты:

var map = new jvm.Map({
  container: $('#jvectormap-wrapper'),
  backgroundColor: '#fff',
  zoomOnScroll: false,
  series: {
    regions: [{
      values: codes,
      normalizeFunction: 'polynomial'
    }]
  },
  regionStyle: {
    initial: {
      fill: '#eee'
    }
  },
});

Вот пример набора данных отфильтрованных значений

var filteredCodes = ['AU', 'AF'];

Вот мои настройки для центрирования карты в соответствии с отфильтрованными значениями:

map.setFocus({
  regions: filteredCodes
});
map.setScale(5);

Кажется, что setScale не работает и выдает ошибку:

jquery.jvectormap.min.js:1 Error: <g> attribute transform: Expected number, "scale(AU,AF...".

Итак, я попробовал другой обходной путь, используя latLng для setFocus. Кажется, это работает, но я не могу найти документацию о том, как установить Focus с помощью latLng, используя массив координат.

Вот рабочий набор setFocus по latLng:

map.setFocus({
  scale: 5,
  lat: lat,
  lng: lng,
});
...