2

지도의 일부 위치를 이동할 때 초기 영역을 변경하고 싶습니다. onRegionChangeComplete 기능을 사용했지만 한 번에 두 번 또는 세 번 호출합니다.onRegionChangeComplete 함수는 반응 네이티브 맵을 사용하여 여러 번 호출합니다.

onRegionChangeComplete(region) { 
    if(!this.state.initialRegionChange){ 
     console.log("changeRegion:"+JSON.stringify(region)) 
     var initialRegion = { 
     latitude: region.latitude, 
     longitude :region.longitude, 
     latitudeDelta: LATITUDE_DELTA, 
     longitudeDelta: LONGITUDE_DELTA 
     } 
     var lat = parseFloat(region.latitude) 
     var lang = parseFloat(region.longitude) 
    }else{ 
     this.setState({ 
     initialRegionChange:false 
     }) 
    } 
    } 

render(){ 
    return(
    <MapView 
      ref="map" 
      style={styles.map} 
      initialRegion={this.state.region} 
      provider={MapView.PROVIDER_DEFAULT} 
      zoomEnabled={true} 
      onRegionChangeComplete={this.onRegionChangeComplete.bind(this)} 
      pitchEnabled={true} 
      showsCompass={true} 
      showsBuildings={true} 
      showsUserLocation={true} 
      showsTraffic={true} 
      showsIndoors={true} 
      /> 
    ) 
} 

나에게 어떻게이 문제를 해결할 수 있다는 제안을하시기 바랍니다 :

여기 내 코드입니다.

도움을 주시면 감사하겠습니다.

여기는 제가 따르는 모듈 링크입니다. https://github.com/react-community/react-native-maps

+0

로직을 통해 처리 할 수 ​​있습니다. 특정 반경 또는 거리를 정의하십시오. 따라서 onRegionChangeComplete는 두 번 또는 세 번 작동하지 않습니다. –

답변

0

이 내용은 react-native-maps에 대해 문서화 된 문제이며 수정 요청이 있습니다 (https://github.com/react-community/react-native-maps/pull/1597). 끌어 오기 요청을 로컬 복사본 react-native-maps에 병합하거나 해제 될 때까지 기다릴 수 있습니다. 홍보에 대한 지원을 추가하여 더 많은 관심을 얻고 더 빨리 병합되도록하는 것이 좋습니다. 귀하의 질문에 대한 해결책이 아니라는 것을 알고 있습니다 만, 소스 코드에서 수정할 수있는 방법은 없습니다. 라이브러리 자체를 변경해야합니다. 희망이 도움이!