1.1.21 • Published 8 years ago

imobile_for_javascript v1.1.21

Weekly downloads
1
License
ISC
Repository
github
Last release
8 years ago

imobile_for_javascript

Getting started

$ npm install imobile_for_javascript --save

Mostly automatic installation

$ react-native link imobile_for_javascript

Manual installation

iOS

Supermap SDK base on RN for IOS is coming soon...

  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesimobile_for_javascript and add Supermap.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libSupermap.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)<

Android

  1. Open up android/app/src/main/java/[...]/MainActivity.java
  • Add import com.supermap.rnsupermap.SupermapPackage; to the imports at the top of the file
  • Add new SupermapPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':supermap'
    project(':supermap').projectDir = new File(rootProject.projectDir, 	'../node_modules/supermap/android')
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
      compile project(':supermap')

Usage

For this Example.After install the pack we offered, You will easily make a project of map inflating the whole screen by following the steps below.

  1. Setup the liscense file into the path "./Supermap/licsence".
  2. Setup the Sample Data into a specified path that will be refer as a argument in the function setServer() of WorkspaceConnection object in the next step;
  3. type the follow codes in an initiated React Native Project
...
import {
  Workspace,
    SMMapView,
} from 'imobile_for_javascript';

class XXX extends Component {

  //Required funtion for obtaining the MapView object.
  _onGetInstance = (mapView) => {
    this.mapView = mapView;
    this._addMap();
  }

  /**
   * 初始化地图  Function for initiating the Map
   * @private
   */
  _addMap = () => {
    try {
      //创建workspace模块对象
      //Create workspace object
      var workspaceModule = new Workspace();

      //加载工作空间等一系列打开地图的操作
      //Operations for loading workspace and opening map
      (async function () {
        try {
          this.workspace = await workspaceModule.createObj();

          await this.workspace.open("/SampleData/City/Changchun.smwu");

          this.mapControl = await this.mapView.getMapControl();
          this.map = await this.mapControl.getMap();

          await this.map.setWorkspace(this.workspace);
          var mapName = await this.workspace.getMapName(0);

          await this.map.open(mapName);
          await this.map.refresh();
        } catch (e) {
          console.error(e);
        }
      }).bind(this)();
    } catch (e) {
      console.error(e);
    }
  }

  render() {
    return (
      <View style={styles.container}>
        <SMMapView ref="mapView" style={styles.map} onGetInstance={this._onGetInstance}/>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  map: {
    flex: 1,
    alignSelf: 'stretch',
  },
});

AppRegistry.registerComponent('XXX', () => XXX);
1.1.21

8 years ago

1.1.20

8 years ago

1.1.19

8 years ago

1.1.18

8 years ago

1.1.17

8 years ago

1.1.16

8 years ago

1.1.15

8 years ago

1.1.14

8 years ago

1.1.12

8 years ago

1.1.9

8 years ago

1.1.8

8 years ago

1.1.7

8 years ago

1.1.6

8 years ago

1.1.5

8 years ago

1.1.1

8 years ago

1.1.0

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago

0.1.44

8 years ago

0.1.42

8 years ago

0.1.41

8 years ago

0.1.40

8 years ago

0.1.39

8 years ago

0.1.38

8 years ago

0.1.37

8 years ago

0.1.36

8 years ago

0.1.35

8 years ago

0.1.34

8 years ago

0.1.33

8 years ago

0.1.31

8 years ago

0.1.30

8 years ago