我正在使用 expo 和 Maplibre React Native 库(通过 eas build)。该应用程序按预期构建并启动,遗憾的是,没有显示地图。我正在 Android 设备上运行该应用程序。
这是我的 App.js:
import { StyleSheet, Text, View } from "react-native";
import MapLibreGL from "@maplibre/maplibre-react-native";
export default function App() {
MapLibreGL.setAccessToken(null);
MapLibreGL.setConnected(true);
const MAPTILER_API_KEY = "<my-token>";
return (
<View>
<Text>It works!</Text>
<View style={styles.container}>
<MapLibreGL.MapView
style={styles.map}
styleURL={`https://api.maptiler.com/maps/streets-v2/style.json?key=${MAPTILER_API_KEY}`}
logoEnabled={false}
attributionPosition={{ bottom: 8, right: 8 }}
></MapLibreGL.MapView>
</View>
</View>
);
}
const styles = StyleSheet.create({
page: {
flex: 1,
justifyContent: "center",
alignItems: "center",
backgroundColor: "#F5FCFF",
},
map: {
flex: 1,
alignSelf: "stretch",
},
});
在我的
app.json
中,我添加了 plugins
键,正如文档中所指导的那样:
"plugins": ["@maplibre/maplibre-react-native"],
我错过了什么吗?
如 maplibre-react-native 的 docs 中所述,该应用程序与 Expo Go 应用程序不兼容。您将需要创建一个 Expo Development 版本才能运行您的应用程序并使用 maplibre-react-native 库。