Home > front end >  React Native : What is the right way to open waze or google-maps?
React Native : What is the right way to open waze or google-maps?

Time:09-22

I use the "react-native-map-link" library and when I try to activate the NavigationDialog function then nothing happens and I don't see waze or google maps. What is the right way to open waze or google-maps ?

import { Popup } from 'react-native-map-link';

const Preferences = () => {
  const [isVisible, setIsVisible] = useState(false);

function NavigationDialog() {
    const options = {
      latitude: 38.8976763,
      longitude: -77.0387185,
      title: 'The White House',
      dialogTitle: 'Navigation to -',
      dialogMessage: ' :Select the app to navigate to the sampling point',
      cancelText: 'Cancel',
    };
    return (
      <Popup
        isVisible={isVisible}
        onCancelPressed={() => setIsVisible(false)}
        onAppPressed={() => setIsVisible(false)}
        onBackButtonPressed={() => setIsVisible(false)}
        modalProps={{
          animationIn: 'slideInUp',
        }}
        appsWhiteList={['waze', 'google-maps']}
        options={options}
        style={{}}
      />
    );
  }

return (
<TouchableOpacity onPress={() => NavigationDialog()}>
              <Text>waze</Text>
          </TouchableOpacity>
  );
};

CodePudding user response:

it looks like you are not using the Popup component the good way, the Popup component from this lib use the Modal React native componenent, have a look at the doc: RN Modal doc

import { Popup } from 'react-native-map-link';

const Preferences = () => {
  const [isVisible, setIsVisible] = useState(false);
  const options = {
      latitude: 38.8976763,
      longitude: -77.0387185,
      title: 'The White House',
      dialogTitle: 'Navigation to -',
      dialogMessage: ' :Select the app to navigate to the sampling point',
      cancelText: 'Cancel',
    }; 

return (
    <>
        <Popup
            isVisible={isVisible}
            onCancelPressed={() => setIsVisible(false)}
            onAppPressed={() => setIsVisible(false)}
            onBackButtonPressed={() => setIsVisible(false)}
            modalProps={{
               animationIn: 'slideInUp',
            }}
            appsWhiteList={['waze', 'google-maps']}
            options={options}
            style={{}}
        />
        <TouchableOpacity onPress={() => setIsVisible(true)}>
              <Text>waze</Text>
        </TouchableOpacity>
    </>
  );
};
  • Related