React Native Maps Custom (Android) - PullRequest
       40

React Native Maps Custom (Android)

0 голосов
/ 26 января 2019

Я пытаюсь удерживать маркер по центру на карте, перетаскивая карту вокруг маркера, например, как это делает Uber, когда пользователь пытается выбрать местоположение. приведенный ниже код отлично работает на IOS, но маркер скрыт на Android. Думаю, как решить эту проблему для Android?

<View style={styles.map}>
           <MapView
                region={this.getMapRegion()}
                 style={styles.map}
                 provider={PROVIDER_GOOGLE}
                 mapType="standard"
                 onRegionChangeComplete={(region) => this.setState({
                      atitude: region.latitude, longitude: region.longitude,
                      latitudeDelta: region.latitudeDelta, longitudeDelta: region.longitudeDelta
                        })} >
                        <View style={{
                            left: '50%',
                            marginLeft: -24,
                            marginTop: -48,
                            position: 'absolute',
                            top: '50%',}}>
                            <Image
                                style={{
                                    resizeMode: 'contain',
                                    height: 60, width: 60,
                            }} source={require('../../assets/fake-marker.png')} />
                        </View>
                    </MapView>
                </View>

Ответы [ 2 ]

0 голосов
/ 27 января 2019

Ваш код должен нормально работать на Android и IOS, вы просто допустили простую ошибку, завернув свой собственный маркер в MapView, вам просто нужно переместить его наружу, и все будет работать как шарм.

0 голосов
/ 27 января 2019

enter image description here я использовал что-то подобное

<View style ={styles.container}>

        <MapView
            showsUserLocation
            showsMyLocationButton
            style={styles.map}
            onRegionChangeComplete={this.onRegionChange.bind(this)}
            region={this.state.region}

        >         
        </MapView>
        <View
        style={{ flex:1,
        flexDirection:'row',
        alignItems:'center',
        justifyContent:'center'}} pointerEvents="none">
          <Image style={styles.marker} source=require("./../../assets/pic/my_loc.png")} />
        </View>
   </View>

и используйте этот стиль`

[![container: {    
      flex:1,
      left: 0,
      right: 0,
      bottom: 0,
      justifyContent: 'flex-end',
      alignItems: 'center',
    },
    map: {
      position: 'absolute',
      top: 0,
      left: 0,
      right: 0,
      bottom: 0,
    },
    marker: {
      height: 48,
      width: 48,

    },`][1]][1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...