Reference version

This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.

react-native-maps

一个提供地图组件的库,在 Android 上使用 Google Maps,在 iOS 上使用 Apple Maps 或 Google Maps。

Android
iOS
Included in Expo Go
Recommended version:
1.27.2

react-native-maps 提供了一个 Map 组件,在 Android 上使用 Google Maps,在 iOS 上使用 Apple Maps 或 Google Maps。

使用 Expo Go 测试项目时不需要额外设置。但是,要将应用二进制文件部署到应用商店,Google Maps 还需要额外步骤。有关更多信息,请参阅下面的说明

安装

Terminal
npx expo install react-native-maps

If you are installing this in an existing React Native app, make sure to install expo in your project. Then, follow the installation instructions provided in the library's README or documentation.

用法

请参阅完整文档 react-native-maps/react-native-maps

MapView
import React from 'react'; import MapView from 'react-native-maps'; import { StyleSheet, View } from 'react-native'; export default function App() { return ( <View style={styles.container}> <MapView style={styles.map} /> </View> ); } const styles = StyleSheet.create({ container: { flex: 1, }, map: { width: '100%', height: '100%', }, });

使用 Google 地图部署应用

Android

1

注册 Google Cloud API 项目并启用 Maps SDK for Android

  • 在浏览器中打开 Google API Manager 并创建一个项目。
  • 创建完成后,进入该项目并启用 Maps SDK for Android

2

复制应用的 SHA-1 证书指纹

  • 如果你要将应用部署到 Google Play 商店,你需要至少先将应用二进制文件上传到 Google Play 控制台。这是 Google 生成应用签名凭据所必需的。
  • 前往 Google Play Console >(你的应用)> 测试和发布 > 应用完整性 > Play 应用签名 > 设置 > 应用签名密钥证书
  • 复制 SHA-1 certificate fingerprint 的值。

3

创建 API 密钥

  • 前往 Google Cloud Credential manager,点击 Create Credentials,然后点击 API Key
  • 在弹窗中,点击 Edit API key
  • Key restrictions > Application restrictions 下,选择 Android apps
  • Restrict usage to your Android apps 下,点击 Add an item
  • app.json 中的 android.package(例如:com.company.myapp)添加到包名字段中。
  • 然后添加第 2 步中的 SHA-1 certificate fingerprint 的值。
  • 点击 Done,然后点击 Save

4

将 API 密钥添加到你的项目中

由于你使用 Google 作为地图提供方,你需要将 API 密钥添加到 react-native-mapsconfig plugin 中。将你的 API Key 复制到项目中的 .env 文件里,或直接复制后添加到应用配置的 plugins.react-native-maps.androidGoogleMapsApiKey 字段中,如下所示:

app.json
{ "expo": { "plugins": [ [ "react-native-maps", { "androidGoogleMapsApiKey": "process.env.YOUR_GOOGLE_MAPS_API_KEY" } ] ] } }
  • 在代码中,从 react-native-maps 导入 { PROVIDER_GOOGLE },并将属性 provider={PROVIDER_GOOGLE} 添加到 <MapView>。此属性同时适用于 Android 和 iOS。
  • 重新构建应用二进制文件(如果你的应用已经上传,则重新提交到 Google Play 商店)。测试配置是否成功的一种简单方法是进行一次模拟器构建

iOS

1

注册 Google Cloud API 项目并启用 Maps SDK for iOS

  • 在浏览器中打开 Google API Manager 并创建一个项目。
  • 然后进入该项目,点击 Enable APIs and Services 并启用 Maps SDK for iOS

2

创建 API 密钥

  • 前往 Google Cloud Credential manager,点击 Create Credentials,然后点击 API Key
  • 在弹窗中,点击 Edit API key
  • Key restrictions > Application restrictions 下,选择 iOS apps
  • Accept requests from an iOS application with one of these bundle identifiers 下,点击 Add an item 按钮。
  • app.json 中的 ios.bundleIdentifier(例如:com.company.myapp)添加到 bundle ID 字段中。
  • 点击 Done,然后点击 Save

3

将 API 密钥添加到你的项目中

由于你使用 Google 作为地图提供方,你需要将 API 密钥添加到 react-native-mapsconfig plugin 中。将你的 API Key 复制到项目中的 .env 文件里,或直接复制后添加到应用配置的 plugins.react-native-maps.iosGoogleMapsApiKey 字段中,如下所示:

app.json
{ "expo": { "plugins": [ [ "react-native-maps", { "iosGoogleMapsApiKey": "process.env.YOUR_GOOGLE_MAPS_API_KEY" } ] ] } }
  • 在代码中,从 react-native-maps 导入 { PROVIDER_GOOGLE },并将属性 provider={PROVIDER_GOOGLE} 添加到 <MapView>。此属性同时适用于 Android 和 iOS。
  • 重新构建应用二进制文件。测试配置是否成功的一种简单方法是进行一次模拟器构建