在地图上放置标记时如何获取坐标

尼莎拉

我使用 react-native-maps 创建了地图。现在我需要在点击地图时将纬度和经度作为文本获取。

我试过这种方式,但它给出了一个错误“找不到变量:坐标”。

export default class Location extends Component {
  constructor(props) {
super(props);
this.state = {
  markers: []
};
this.handlePress = this.handlePress.bind(this);
  }
  handlePress(e) {
this.setState({
  markers: [
    ...this.state.markers,
    {
      coordinate: e.nativeEvent.coordinate,
      key: coordinate,
      color: randomColor()
    }
  ]
});
console.log(e.nativeEvent);
  }
  render() {
return (
  <MapView
    style={styles.map}
    initialRegion={{
      latitude: 7.8731,
      longitude: 80.7718,
      latitudeDelta: 0.0922,
      longitudeDelta: 0.0421
    }}
    onPress={e => this.handlePress(e)}
  >
    {this.state.markers.map(marker => (
      <Marker
        key={marker.key}
        coordinate={marker.coordinate}
        pinColor={marker.color}
      >
        <View style={styles.marker}>
          <Text style={styles.text}>{marker.coordinate}</Text>
        </View>
      </Marker>
    ))}
  </MapView>
);
  }
}

我怎么修?

尼莎拉

我解决了。

export default class Location extends Component {
  constructor(props) {
  super(props);

   this.state = {
    region: {
     latitude: LATITUDE,
     longitude: LONGITUDE,
     latitudeDelta: LATITUDE_DELTA,
     longitudeDelta: LONGITUDE_DELTA,
    },
    markers: {
      coordinate: {
        latitude: 4,
        longitude: 4,
        },
      key: id,
      color: randomColor(),
    }
   };
  }
  onMapPress(e) {
      this.setState({
         markers: 
         {
            coordinate: e.nativeEvent.coordinate,
            key: id++,
            color: randomColor(),
         },
      });

   SaveAddress=()=>{
     console.log(JSON.stringify(this.state.markers[0].coordinate.latitude))
   }
  }

   render() {
       return (

       <MapView
          provider={this.props.provider}
          style={styles.map}
          initialRegion={this.state.region}
          onPress={e => this.onMapPress(e)}
         >

      <Marker
        key={this.state.markers.key}
        coordinate={this.state.markers.coordinate}
        pinColor={this.state.markers.color}
      >
          <View style={styles.marker}>
          <Text style={styles.text}> 
          {JSON.stringify(this.state.markers.coordinate)}</Text>
        </View>
      </Marker>

  </MapView>

);
 }
   }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在地图上放置多个标记时,获取Latlng值的无效双“ n \ a”

如何在Google地图上放置标记

在Google地图上添加标记时崩溃

放置标记时如何获取多边形属性

在地图上显示多个标记时,单击标记时如何只打开一个信息窗口?

如何通过从数据库中提取所有坐标来使用传单在地图上放置标记?

在谷歌地图上放置标记

如何将地图上的标记移动到新坐标?

当我单击Android Google地图上的标记时,如何隐藏“导航”和“ GPS指针”按钮

如何将Xib作为标记放置在Google地图上而不是Google地图标记图标

在Google地图上找到标记的坐标

如何在数据地图上获取正确的MouseHover坐标

如何仅在地图上显示标记,而单击标记时不显示默认信息窗口或自定义信息窗口?

如何在传单地图上的移动标记上获取文字?

Angular 2+ Google Maps从地图上的点击位置获取坐标以更新标记位置

D3 DataMaps(或jvectormap):如何通过坐标将自定义对象放置在地图上

在本地视图中单击地图视图上的任意位置时如何放置标记

获取地图上显示的标记数量

如何检查地图上特定对象的坐标?

传单单击标记时如何设置中心地图

使用计时器将标记放置在地图上

如何从地图上获取钥匙

Android Google Map API:如何获取最小和最大坐标可以在地图上看到

如何删除谷歌地图上的旧标记

如何在地图上添加标记

如何让人类标记在地图上移动?

如何获取当前地图坐标?

在Datamaps和D3中绑定完成的事件时,如何传递事件变量/在地图上放置标记?

如何制作一个按钮来查找我手动放置在 Google 地图上的最近标记?