React-Native在地图中放置多个标记

时间:2016-11-12 13:13:16

标签: javascript react-native google-maps-markers react-native-android

下面的函数从api中检索坐标并按下数组中的坐标。

function getMarkers() {

  fetch('http://xxxxxx').then(function(response) { 
  // Convert to JSON
  return response.json();
   }).then(function(j) {

  var number = j.Objects.length;
  var markers = [];

  for(var x = 0; x < number; x++) {
     markers.push("{latlng: {latitude: \""+j.Objects[0].WGS84_Y+"\", longitude: \""+j.Objects[0].WGS84_X+"}, title:\""+x+"\", description:\"2\"}, key:\""+x+" },");
  }

  return(markers);
  });
} 

下面的课程应该检索来自上述功能的标记。

 class Home extends Component {

  constructor() {
    super();
    const markers = getMarkers();
    this.state = {markers:[{markers}]}
 } ....

这不起作用。我得到错误:“undefined不是一个对象(评估this.state.markers.map”

仅当我在构造函数中手动放置数组时才有效,如下所示:

  this.state = {markers:[ 
            {latlng: {latitude: 52.786894, longitude: 6.118069}, title: "vic", description: "voc",key:"0"}
            {latlng: {latitude: 52.796894, longitude: 6.178069}, title: "vic", description: "voc",key:"1"} ]}

};

有什么建议吗?

0 个答案:

没有答案