首页 文章

React-native-maps空白页面只有谷歌徽标

提问于
浏览
3

我一直试图安装谷歌 Map 反应原生一个星期仍然没有成功 . 我已经搜索并尝试了react-native-maps github问题中的解决方案,但我仍然得到一个空白页面 .

我所做的:

react-native init myapp
npm install
yarn add react-native-maps
react-native link react-native-maps

在Google控制台API中 - >创建新项目 - >启用Google Maps Android API,Google Maps JavaScript API和Places API - >创建凭据

在AndroidManifest.xml中

<application>
....
       <meta-data
          android:name="com.google.android.geo.API_KEY"
          android:value="AIzaSyDRK50sPCRCPLTnyt0OUdng9cwP0eqPJq4"/>
    </application>

的package.json

{
    "name": "maps",
    "version": "0.0.1",
    "private": true,
    "scripts": {
        "start": "node node_modules/react-native/local-cli/cli.js start",
        "test": "jest"
    },
    "dependencies": {
        "react": "16.0.0",
        "react-native": "0.50.4",
        "react-native-maps": "^0.18.3"
    },
    "devDependencies": {
        "babel-jest": "21.2.0",
        "babel-preset-react-native": "4.0.0",
        "jest": "21.2.1",
        "react-test-renderer": "16.0.0"
    },
    "jest": {
        "preset": "react-native"
    }
}

App.js

import React, { Component } from 'react';
import {
  StyleSheet,
  Text,
  View
} from 'react-native';
import MapView from 'react-native-maps'

export default class App extends Component {
  render() {
    return (
      <View style={styles.container}>
      <MapView
        style={styles.map}
        region={{
          latitude: 37.78825,
          longitude: -122.4324,
          latitudeDelta: 0.015,
          longitudeDelta: 0.0121,
        }}
      >
      </MapView>  
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    ...StyleSheet.absoluteFillObject,
    alignItems: 'center',
  },
  map: {
    ...StyleSheet.absoluteFillObject,
  },
});

编辑:因为有些人问我堆栈跟踪:Sample 1

2 回答

  • 1

    您能提供一些堆栈跟踪,以便我们更好地了解您的问题吗?您的问题描述听起来就像您的手机未连接到互联网,这就是为什么 Map 不会呈现 .

    无论如何,根据我过去的经验,这里有一些提示可以运行 react-native-maps .

    • 首先,始终根据官方文档here配置您的Android应用程序 .

    • 确保通过控制台生成Google Maps API密钥 .

    • 检查 react-native-maps 是否与 react-native 版本兼容 .

    • 检查你的android build-tools版本 .

    • 如果您使用的是Genymotion(旧版本)的Android模拟器,请确保包含Google Play服务,否则 Map 将无效 .

    • 有效的互联网连接 . 确保您的手机或模拟器已连接,以便加载 Map (iOS无法访问互联网) .

    • 始终将 latlong 对象注入 initialRegion 道具,以便 Map 知道要关注的位置 .

  • 2

    我一直在努力应对Android和iOS平台上的原生 Map .

    在Android上有Google API版本 . 我试图使用Google API 27无法正常工作,但是API 26很有用 .
    enter image description here

    我找到的小费:https://github.com/react-community/react-native-maps/issues/1877#issuecomment-353261669

    在iOS上是软件包版本:因为我使用CRNA创建了应用程序,安装了react-native@0.52.0并且与react-native-maps@0.20.1不兼容所以我将react-native更改为版本0.53.0并且解决了在构建时崩溃应用程序的问题,错误:条目,“:CFBundleIdentifier”,“不存在” .

相关问题