WebView内でgeolocationを使用し位置情報を取得しようとしています。
Androidエミュレータ上では問題なく取得できていますが、実機を接続してrun-androidをすると必ずエラー(エラーコード2)が返ってしまいます。
javascript
1function getLocation() { 2 var geoOptions = { 3 enableHighAccuracy: true, 4 timeout: 20 * 1000 5 } 6 7 if (navigator.geolocation) { 8 navigator.geolocation.getCurrentPosition(successCallback,errorCallback, geoOptions) ; 9 } else { 10 // エラー処理 11 } 12} 13 14function successCallback(pos) { 15 // 成功処理 16} 17 18function errorCallback(error) { 19 // エラー処理 20 // ここでエラーコード2が返る 21}
React NativeのApp.jsでは、下記の通りWebViewにgeolocationEnabled={true}を設定しております。
ReactNative
1<WebView 2ref={r => this.webview = r} 3source={{uri: this.state.webSource}} 4startInLoadingState 5onMessage={(event) => {this.returnMessage(event.nativeEvent.data)}} 6onError={() => this.loadError()} 7style={styles.content} 8injectedJavaScript={setCookie} 9geolocationEnabled={true} 10/>
また、AndroidManifest.xmlには下記permissionを設定しています。
AndroidManifest.xml
1 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
他に何か実装する必要があるのでしょうか?もしくは実機側で設定が必要でしょうか?
(実機で位置情報はONにしています)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。