2017-09-22 1 views
0

Google Maps API (Airbnb 제공)에서 ReactNative를 사용하고 있습니다. Google Maps geolocation 검색을 구현했으며 json으로 위도/경도 응답을 받았습니다.GoogleMaps에서 위치 기반 검색을 사용하여 Reactative 뷰포트 변경

이제 검색 한 위도/경도에 표시하기 위해지도를 다시 렌더링하는 데 문제가 있습니다.

는 지금까지이 문제를 해결하려면 나는 시도했다 :

  • 이지도보기
  • 의 onChange 및 지역의
  • 다른 조합의 initialRegion 속성의 상태를 변경지도보기
  • 의 지역 특성의 상태를 변경, 어느 것도 효과가 없습니다.

다음에 시도해 볼 것을 제안 해 주시면 감사하겠습니다. 내 전체 코드 here을 찾을 수 있습니다.

답변

1

당신처럼되고 코드를 변경할 수 있습니다이

render() { 
return (
    <View style={styles.container}> // add a container view with absolute position same as map 
    <MapView 
    provider={ PROVIDER_GOOGLE } 
    style={styles.container} 
    region={this.state.locationCoordinates} // change from initialRegion to region 
    zoomEnabled={true} 
    scrollEnabled={true} 
    > 
     <MapView.Marker 
     coordinate={{ 
     latitude: 37.7749, 
     longitude: -122.4194, 
     }} 
    /> 
    </MapView> 
    <View style={styles.inputContainer}> // remove input container from inside the MapView 
     <TextInput 
     placeholder="Where to?" 
     style={ styles.input } 
     onChangeText={this.handleLocationInput} 
     value={this.state.locationInput} 
     onSubmitEditing={this.handleSubmit.bind(this)} 
     /> 
    </View> 
    </View> 
); 
} 
+0

내가 initialRegion로 변경할 때, 나는 새로운 검색 위치로 이동할 수 있어요 -하지만 난 비록 (지도 스크롤 할 수있는 능력을 잃게 I scrollEnabled prop를 true로 설정합니다). 이 문제를 해결하는 방법을 알고 있습니까? – gfahs

+0

어떤 일이 일어날 지 일일이 전혀 움직이지 않거나 무엇을 사용해야 할지도 모른다 initialRegion –

+0

당신의 코드는 initialRegion을 가지고 있고 대답은 단지 지역을 가지고있다. –