javascript - 反应原生地图视图我如何以简单的方式获取用户坐标
问题描述
有没有办法在反应原生地图视图中获取用户坐标?
我正在尝试在用户和标记之间制作一条折线,但我不知道如何。如果它不使用组件安装或redux会更好,但是如果没有办法,请包括如何使用它的详细信息,因为我是初学者。
我的代码是:
import React, { Component } from 'react';
import { StyleSheet, Text, View } from 'react-native';
import MapView, { PROVIDER_GOOGLE, Polyline } from 'react-native-maps';
import Rectangle from './spotInfo'
export default class App extends React.Component {
state = {
spotName: "No Spot Selected!", spotDesc: "Select a spot to show info.", long: "", lat: "" ,
currentSpot: {
latitude: 52.5200066,
longitude: 13.404954
},
Gotospot: {
latitude: 50.1109221,
longitude: 8.6821267
},
}
updateState = (name, desc, long, lat) => {
console.log(position.coords.latitude)
this.setState({ spotName: name, spotDesc: desc, long: long, lat: lat })}
MarkerPress = (spotName, spotDesc, long, lat) => this.updateState(spotName, spotDesc, long, lat)
render() {
return (
<MapView
style={{ flex: 1 }}
provider={PROVIDER_GOOGLE}
showsUserLocation
initialRegion={{
latitude: 47.497913,
longitude: 19.040236,
latitudeDelta: 0.2,
longitudeDelta: 0.2}}
showsUserLocation={true}
followUserLocation={true}
>
<MapView.Marker coordinate={{latitude: 47.497913, longitude: 19.040236}} onPress={(e) => {e.stopPropagation(); this.MarkerPress('Deak Ter', 'An Awesome skatepark with a bowl.' , '47.497913', '19.040236')}} />
<MapView.Marker coordinate={{latitude: 47.487913, longitude: 19.030236}} onPress={(e) => {e.stopPropagation(); this.MarkerPress('Deak Ter2', 'An Awesome skatepark without a bowl.' , '47.487913', '19.030236')}} />
<Polyline coordinates={[this.state.currentSpot, this.state.Gotospot]} />
<Rectangle spotName = {this.state.spotName} spotDesc={this.state.spotDesc}/>
</MapView>
);
}
}
解决方案
您已经正确放置了道具showsUserLocation={true}
,但是如果您使用的是 iOS,则可以在 ``Ìnfo.plist`` 中添加一个新项目,如下图所示:
要获得坐标纬度和经度,你有 prop onUserLocationChange
。当地图确定用户位置时,它会返回一个回调:
有关更多详细信息,您可以直接在react-native-maps的文档中查看。
等待您的反馈意见。谢谢 :)。如果您有更多疑问,请随时提问。
推荐阅读
- sql - 获取列,4 个表
- angularjs - 没有从控制器获取 $rootScope.updatedata 到 html 视图
- graph - amCharts 4 (v4) 在饼图中设置特定颜色
- r - 带有 Rmarkdown 网站的左侧菜单
- c# - IOS 推送通知在使用 PushSharp 时不起作用
- php - Laravel - 查找登录用户的用户 ID 并从另一个表中获取值
- ssl - 为什么无法远程访问 glassfish 管理控制台?
- typescript - Karma 中的源映射 TypeScript
- php - 无法加载动态库 'zip' php - ArchLinux
- c# - 返回 0 的数据表。位置 2 处没有行 ASP.NET