用逗号划分数据

时间:2017-11-22 18:53:05

标签: reactjs react-native

我正在尝试使用arduino,gps模块和gsm创建一个爬虫。

我可以收到纬度,经度并发送到手机上作为短信,但在手机上我正在尝试构建一个反应原生的应用程序,我正在学习,它显示了地图上的位置。 / p>

运行测试,我得到了这段代码来监控传入的消息:

import React, { Component } from 'react';
import {
  AppRegistry,
  Text,
  View,
  Button
} from 'react-native';

import SmsListener from 'react-native-android-sms-listener';

export default class App extends Component {

  //constructor include last message
  constructor(props) {
    super(props);
    this.state = { lastMessage: 1 };
  }

  sms(){
    SmsListener.addListener(message => {
      this.setState({ lastMessage: message.body });
    });
  }

  render() {
    return (
      <View>
        <Text> Scheduled jobs: {this.state.lastMessage} </Text>

        <Button 
          title="Buscar" 
          color="#115E54" 
          onPress={() => this.sms() } 
        />

      </View>
    );
  }
}

此代码显示地图:

import React, { Component } from 'react';
import {
  StyleSheet,
  Text,
  View
} from 'react-native';

import MapView from 'react-native-maps';

export default class App extends Component {
  state = {
    latitude: 0.0000,
    longitude: 0.0000,
  };

  render() {
    const { region } = this.props;
    const { latitude, longitude } = this.state;
    console.log(region);

    return (
      <View style ={styles.container}>
        <MapView
          initialRegion={{
            latitude,
            longitude,
            latitudeDelta: 0.0042,
            longitudeDelta: 0.0031,
          }}
          style={styles.map}
          rotateEnabled={false}
          scrollEnabled={false}
          //zoomEnabled={false}
          showsPointsOfInterest={false}
          showBuildings={false}
        >
          <MapView.Marker
            coordinate={{
              latitude: 0.0000,
              longitude: 0.0000,
            }}
          />
        </MapView>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    ...StyleSheet.absoluteFillObject,
    position: 'absolute',
    top: 0,
    left: 0,
    bottom: 0,
    right: 0,
    justifyContent: 'flex-end',
    alignItems: 'center',
  },
  map: {
    ...StyleSheet.absoluteFillObject,
  },
});

两者都在其功能范围内运作。

问题在于我以SMS格式0.0000, 0.0000获取数据,我需要将这些数据分成两部分才能分配到latitudelongitude

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以这样做:

const [latitude, longitude] = "0.0000, 0.0000".split(', ');

答案 1 :(得分:1)

您可以使用.split()将数据分成数组。

const [latitude, longitude] = coordData.split(', ')

其中coordData = <coordinate string>

Javascript参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split