Открыть гугл-направление от маркера, выдвинутого lon и давно недействительным родным? - PullRequest
0 голосов
/ 20 февраля 2020

Нужно обработчику выбрать какой-нибудь маркер на картах и ​​открыть всплывающее окно, чтобы открыть координату, после этого откройте направления между текущим местоположением и набором маркеров.

Здесь какой-то код, чтобы открыть внешний ссылка, когда выбран обработчик местоположения:

  pickLocationHandler = event => {
    const coords = event.nativeEvent.coordinate;
    console.log('Location picker Marker', coords);
    this.map.animateToRegion({
      ...this.state.focusedlocation,
      latitude: coords.latitude,
      longitude: coords.longitude,
      latitudeDelta: LATITUDE_DELTA,
      longitudeDelta:
          (Dimensions.get('window').width / Dimensions.get('window').height) *
          0.00522,
    });

    this.setState(prevState => {
      return {
        focusedlocation: {
          ...prevState.focusedlocation,
          latitude: coords.latitude,
          longitude: coords.longitude,
        },
        locationChosen: true,
      };
    });
    var scheme = Platform.OS === 'ios' ? 'maps:' : 'geo:';
    var url = scheme + coords.latitude;coords.longitude;
    this.openExternalApp(url);
 };
  openExternalApp = url => {
    Linking.canOpenURL(url).then(supported => {
      if (supported) {
        Linking.openURL(url);
      } else {
        Alert.alert('ERROR', 'Unable to open: ' + url, [{ text: 'OK' }]);
      }
    });
  };

Вот код для открытия ссылки на карты Google:

handleGetDirections = () => {
    const data = {
       source: {
        latitude: LATITUDE,  // Help me to put here my current latitude
        longitude: LONGITUDE, // Help me to put here my current longitude
      },
      destination: {
        // handle pin marker pressed in the map to get the coordinates for destination
        latitude: -29.2511256, 
        longitude: -51.1932803, 
      },

      params: [
        {
          key: "travelmode",
          value: "walking"        // may be "walking", "bicycling" or "transit" as well
        },
        {
          key: "dir_action",
          value: "navigate"       // this instantly initializes navigation using the given travel mode 
        }
      ]
    }

    getDirections(data)
  }

Вот зависимости:

import getDirections from 'react-native-google-maps-directions';
...