google-maps - React Native 打开原生 map

标签 google-maps react-native deep-linking apple-maps

我试图让我的按钮 onPress 函数调用一个函数,该函数将根据设备打开苹果 map 或谷歌地图。出于某种原因,当我按下按钮时什么都没有发生。

这是我的功能:

openMap= () => {
  console.log('open directions')
    Platform.select({
        ios: () => {
            Linking.openURL('http://maps.apple.com/maps?daddr=');
        },
        android: () => {
            Linking.openURL('http://maps.google.com/maps?daddr=');
        }
    });
}

这是按钮:
<TouchableOpacity 
          onPress={this.openMap}
          style={styles.navigateBtn}>
            <Icon name="md-navigate" style={{ fontSize: 24 }} />
            <Text
              style={{ fontSize: 13, fontWeight: "700", lineHeight: 14 }}
            >
              NAVIGATE
                </Text>
          </TouchableOpacity>

最终,我想将经度和纬度传递给 openMap 函数以获取方向,但首先我需要打开 map 。

这是我的进口
import { View, TouchableOpacity, Modal, Platform, Alert, StyleSheet, Linking } from "react-native";
import {Header, Content, Text, Button, Icon, Card,CardItem, Title, Left, Right, Body, Container
} from "native-base";
import { Constants } from 'expo

最佳答案

您的按钮似乎调用 this.MaponPress您的TouchableOpacity .它不应该是 this.openMap ?

希望对你有帮助!

编辑:

尝试在组件内部声明这样的函数:

openMap() {
    console.log('open directions')
    Platform.select({
        ios: () => {
            Linking.openURL('http://maps.apple.com/maps?daddr=');
        },
        android: () => {
            Linking.openURL('http://maps.google.com/maps?daddr=');
        }
    });
}

并为您的TouchableOpacity试试这个
<TouchableOpacity 
      onPress={() => this.openMap() }
      style={styles.navigateBtn}>
        <Icon name="md-navigate" style={{ fontSize: 24 }} />
        <Text
          style={{ fontSize: 13, fontWeight: "700", lineHeight: 14 }}
        >

关于google-maps - React Native 打开原生 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45527549/

相关文章:

ios - 如何在 iOS 13 上获取给定网络接口(interface)的当前网络信息

android - 应用程序链接不起作用。如何从网络浏览器打开应用程序?

java - 使用 Android 通过 OAuth1 调用 Open Bank Project

sql - 选择落在中心点半径内的坐标?

javascript - 放在 map 上之前的谷歌地图圆针

javascript - 谷歌地图清除特定标记帮助(JS)

react-native - 在 React Native 中使用 requestAnimationFrame

android - 在android中获取错误的Gps位置

javascript - 在处理更改时通过状态 react 传递值

android - 是否有必要在市场上发布应用程序以实现 android 的深度链接