Стиль / Спутник - Можно ли получить две разные эстетики при разных уровнях масштабирования? - PullRequest
0 голосов
/ 26 мая 2020
• 1000 виды или расстояния увеличения.

Я хочу, чтобы крупным планом был спутниковый снимок. Но спутниковые изображения сбивают с толку в глобальном представлении - и было бы лучше перейти от стиля Mapbox (темный / светлый), тогда, когда вы нажимаете на указатель, вы увеличиваете спутниковые изображения.

Сообщите мне, существует ли эта функция, и, если возможно, укажите, как ее реализовать?

Спасибо! В

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

Вы можете создать свой стиль в Mapbox Studio как несателлитный стиль, но затем добавить Mapbox Satellite в качестве слоя с минимальным масштабированием, чтобы он отображался только после увеличения.

0 голосов
/ 26 мая 2020

Возможно прослушивание изменения масштаба. После завершения события масштабирования будет запущен обратный вызов zoomEnd .

В этом обратном вызове вы можете получить масштабирование с помощью метода getZoom () . В зависимости от уровня масштабирования вы можете установить свой стиль. (например, спутниковый или не спутниковый)

// Initialize the map
var map = new mapboxgl.Map({ // map options });
// Set an event listener that fires
// just after a zoom transition finishes.
map.on('zoomend', function() {
  
  var zoom = map.getZoom();
  if(zoom < 10){
      map.setStyle("mapbox://styles/mapbox/streets-v11");
  }
});
...