2016-08-10 5 views
3

Ich entwickle eine mobile Anwendung in React Native erfordert die Verwendung von Web Map Services. Ich habe keine Bibliothek oder Framework gefunden, die WMS verwenden und gleichzeitig nativ reagieren können. In React (Web) habe ich one gefunden. Meine Frage ist:Reactive Native und WMS

Wissen Sie, ob existiert irgendeine Bibliothek oder Framework, die mir erlaubt, mit WMS und React Native zu arbeiten, oder wenn es eine Möglichkeit gibt, eine Bibliothek von React (Web) in React native zu integrieren?

Danke!

Antwort

2

Der Ansatz, den ich verwenden entschieden ist die folgende:

  1. Mit WebView von react-native.

  2. Verwendung openlayers.

Deklarieren Sie eine Variable in der Methode von Ihrer reagieren-native Klasse machen, die den HTML-Code aus einer Karte von Openlayers enthält: render() { var html = ` <!DOCTYPE html> <html> <head> <title>Simple Map</title> <link rel="stylesheet" href="https://openlayers.org/en/v3.20.0/css/ol.css" type="text/css"> <!-- The line below is only needed for old environments like Internet Explorer and Android 4.x --> <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script> <script src="https://openlayers.org/en/v3.20.0/build/ol.js"></script> </head> <body> <div id="map" class="map"></div> <script> var map = new ol.Map({ layers: [ new ol.layer.Tile({ source: new ol.source.OSM() }) ], target: 'map', view: new ol.View({ center: [0, 0], zoom: 2 }) }); </script> </body> </html> `

Dann diese Variable auf den WebView passieren: return ( <View style={styles.container}> <WebView ref={webview => { this.webview = webview; }} source={{html}} onMessage={this.onMessage}/> </View> ); } }

Wenn Sie die reaktionsnative Seite mit der WebView-Seite kommunizieren möchten, werfen Sie einen Blick auf das WebView-Beispiel von reaktiv-nativ.

Weitere Beispiele finden Sie auf der Beispielseite für Openlayer.