所以:反應本地世博項目與地理位置或地圖上的Android錯誤
我有React本地項目做世博會。它有幾個意見,airbnb mapview和類似的東西。它以前是純粹的反應本地項目(在創建反應本機應用程序之前做的甚至是一件事),我最近把它移到了博覽會。幾乎一切正常。對於iOS而言,向博覽會的轉變是完美的,一切都如預期那樣運作。但是當我嘗試在android手機上啓動應用程序時,我得到了很奇怪的錯誤。
嘗試上的空對象引用調用接口方法 '布爾abi20_0_0.com.facebook.react.bridge.ReadableMap.hasKey(java.lang.String中)'
我認爲它有是與查找位置沒有真正的MapView的實際過程,但我唯一改變的事情是:
import MapView from 'react-native-maps';
到 import { MapView } from 'expo';
這是用來查找位置的實際代碼:
componentDidMount() {
navigator.geolocation.getCurrentPosition(
(position) => {
this.setState({
region: {
latitude: position.coords.latitude,
longitude: position.coords.longitude,
latitudeDelta: LATITUDE_DELTA,
longitudeDelta: LONGITUDE_DELTA
},
lat : position.coords.latitude,
lon : position.coords.longitude,
cords : {
latitude: position.coords.latitude,
longitude: position.coords.longitude,
}
});
},
(error) => alert(error.message),
{enableHighAccuracy: true, timeout: 20000, maximumAge: 1000}
);
this.watchID = navigator.geolocation.watchPosition(
(position) => {
this.setState({
cords : {
latitude: position.coords.latitude,
longitude: position.coords.longitude,
},
lat : position.coords.latitude,
lon : position.coords.longitude,
});
});
}
它仍然正常工作而沒有世博會的舊Android版本和它的工作原理與世博會取得了新的iOS版本。 watchPosition fails with react native expo 他已經結束了相同的結論,我卻只有很少的信息對他的問題沒有答案:
的package.json depencies
"dependencies": {
"expo": "^20.0.0",
"firebase": "^4.3.0",
"react": "16.0.0-alpha.12",
"react-native": "https://github.com/expo/react-native/archive/sdk-20.0.0.tar.gz",
"react-navigation": "^1.0.0-beta.11"
}
我對這個完全相同問題成立一個其他問題/評論,所以我決定提出自己的問題。
你試過一個真實的設備嗎?不是模擬器? –
我嘗試了2個真實設備和模擬器。在iOS上只有真正的設備。獨立版和每個設備/仿真器上的expo版本。沒有博覽會的舊版本在其中的每一個上工作 – Nipatiitti