#canvas #mapbox-gl-js #mapbox-gl
#холст #mapbox-gl-js #mapbox-gl
Вопрос:
Мне нужно выполнить flyTo () в определенном месте с небольшим смещением, а затем запустить анимацию поворота камеры вокруг этой точки.
Проблема в том, что камера не учитывает это смещение. Это приводит к вращению камеры вокруг центральной точки карты, но не вокруг точки со смещением, указанной в вызове flyTo().
map.flyTo({
zoom: point.zoom,
center: point.coords,
bearing: point.bearing,
pitch: point.pitch,
offset: point.offset
});
map.once('moveend', () => rotateCamera(map.getBearing()));
В CameraOptions есть свойство с именем «around», но я не понял его назначения… В документации нет примера, и эксперименты не прояснили это.
Есть ли какой-нибудь способ решить эту проблему?
Ответ №1:
Это можно обойти с помощью CSS:
#map {
/* ... */
padding-left: 200px;
margin-left: -200px;
padding-top: 200px;
margin-top: -200px;
overflow: hidden;
}
Но это «решение» кажется хакерским…