1.1.2 • Published 9 years ago
react-native-google-vr-panorama v1.1.2
react-native-google-vr-panorama
React Native component for the Google VR Panorama Widget
Note: Required Android 4.4 or higher and at least Android SDK Version 23
Features
- Supports
monoandstereoimages - Image loading from the internet
Installation
- NPM install
npm install --save react-native-google-vr-panorama- Add the following to your
settings.gradlefile located in theandroidfolder:
include ':react-native-google-vr-panorama'
project(':react-native-google-vr-panorama').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-google-vr-panorama/android')- Copy the required
.aarfromandroid/libsin this project to theandroid/app/libsfolder in your project (create if not present):
common.aar
commonwidget.aar
panowidget.aar- Add the
libsdir as a flat directory repository inbuild.gradleunderappfolder:
repositories {
flatDir {
dirs 'libs'
}
}Update your project dependencies in
build.gradleunderappfolder to include the required dependencies:
...
dependencies {
compile(name: 'common', ext: 'aar')
compile(name: 'commonwidget', ext: 'aar')
compile(name: 'panowidget', ext: 'aar')
compile project(':react-native-google-vr-panorama')
}- Add the package to the
getPackagesmethod in theMainApplication.javafile:
import com.xebia.googlevrpanorama.RNGoogleVRPanoramaPackage;
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new RNGoogleVRPanoramaPackage()
);
}Usage
Import the package and view:
import GoogleVRPanorama, { PanoramaView } from 'react-native-google-vr-panorama'Render the view:
render() {
const imageUrl = 'http://www.google.com/image.jpg'
const inputType = GoogleVRPanorama.inputType.stereo
return (
<PanoramaView imageUrl={imageUrl} inputType={inputType} />
)
}Example
An example has been provided in example/index.android.js
Image dimensions
Due to the constrained system resources that mobile devices have, loading large images as a Bitmap can cause out of memory errors.
To prevent OOM errors, supply dimensions to the component. When you specify dimensions the component will automatically calculate the sample size and reduce the Bitmap size to the exact dimensions.
If not specified, the original image size will be loaded.
Props
| Prop | Type | Required | Description | Default |
|---|---|---|---|---|
imageUrl | string | Required | The URL of the image that the component should display | N/A |
dimensions | object | Optional | The dimensions of the image | { width: 0, height: 0 } |
inputType | number | Optional | The input type for the image. One of GoogleVRPanorama.inputType.mono, GoogleVRPanorama.inputType.stereo | GoogleVRPanorama.inputType.mono |
Callback methods
| Prop | Properties | Description |
|---|---|---|
onImageLoaded | undefined | Fired when the image has successfully loaded |
onImageLoadingFailed | undefined | Fired when the image failed to load |