2017-05-08 1 views
3

나는 Mapbox Dark v9 스타일을 사용하고 있으며 모든 라벨을 제거하고 싶습니다.Mapbox GL JS의 모든 라벨을 제거 하시겠습니까?

레이블 목록 here을 찾았습니다.

그리고 그들 중 일부를 제거하는 map.removeLayer 기능을 시도, 예컨대 :

map.removeLayer("place_label"); 

뿐만 아니라 :

map.removeLayer("place-city-lg-n"); 
map.removeLayer("place-city-lg-s"); 
map.removeLayer("place-city-md-n"); 
map.removeLayer("place-city-md-s"); 
map.removeLayer("place-city-sm"); 

스타일에서 라벨을 제거하는 방법이 있나요?

답변

6

레이블이없는 어두운베이스 맵을 찾는 경우 - 즉, 런타임에 프로그래밍 방식으로 제거 할 필요가없는 경우 - 어두운 템플릿을 사용하여 Mapbox Studio에 새 스타일을 만들고 스타일 편집기를 사용하여 모든 레이블 레이어를 삭제하십시오. 그런 다음 스타일을 게시하고 해당 URL을 앱에 사용할 수 있습니다.

screenshot

런타임에서 모든 라벨 층을 제거하는 것이 중요하다면, 당신은 할 수

map.style.stylesheet.layers.forEach(function(layer) { 
    if (layer.type === 'symbol') { 
     map.removeLayer(layer.id); 
    } 
}); 
+0

즉 또한, 상징 층을 제거하지 것이다 그냥 메모 같은 텍스트 "레이블". 'text-field' 속성의 존재를 확인하는 것이 더 안전합니다. –

관련 문제