2017-11-10 16 views
0

반응 맵 상자에서 현재지도의 확대/축소를 어떻게 얻을 수 있습니까?React-Mapbox-GL에서 현재 확대/축소하는 방법?

패키지 : https://github.com/alex3165/react-mapbox-gl/tree/0df46b1dcf194cdf140638f653221d8a82f0b195

내가 MapgetZoom 방법을 사용하여 "어떻게 시작"에서 예제를 시도했지만 그것은 작동하지 않습니다. Map.getZoom이 함수가 아니라는 오류가 있습니다. 내가 심판하여 액세스하려고하면

편집 ================는

그럼 난 스크린 샷에 같은 문제가 있습니다. 내 getZoom 기능이있는 .state.map.e를 얻는 방법? console logs

답변

1

MapReactMapboxGl이며 mapbox-gl-js의 래퍼입니다. mapboxgl.Map 개체에서 getZoom()으로 전화를 걸려고합니다.

원래 Mapbox API는 onStyleLoad 속성을 사용하여 사용하려면 콜백 함수는 첫 번째 인수으로지도 객체를 받게됩니다, 당신은 당신의 자신의 논리가 함께 반응-mapbox-GL을 추가 할 수 있습니다. [source]

그래서 당신은 그것에서 얻을 수 있습니다

<ReactMapboxGl onStyleLoad={ el => this.map = el } /> 

그런 다음 당신이 여기 사용할 수 있습니다 내가 그것을 수출의 해당 구성 요소를 대신 렌더링하면 어떻게

componentDidMount() { 
    const currentZoom = this.map.getZoom(); 
} 
+0

를? –

+1

@SkylinR 당신이하고 싶은 것이 확실하지 않지만, 당신이들을 수있는 줌 이벤트를 추적 할 수있는 "onZoom"이벤트가 있습니다. – MeltedPenguin

+0

당신이 보여줄 때처럼 내가 할 때, "this.map.getZoom은 함수가 아닙니다.이 로그를 this.map에 콘솔로 보내면 전체 ReactMapboxGl 객체를 수신하고 거기서 .state.map.e를 볼 수 있습니다. 나는 그때 그것을 정의하려고한다. –