React native 获取国家和城市

Posted

技术标签:

【中文标题】React native 获取国家和城市【英文标题】:React native get country and city 【发布时间】:2021-07-02 13:00:32 【问题描述】:

我需要为我的应用获取用户国家和城市。

我可以使用此代码获取纬度并登录。

如何在本地反应中获得城市和国家

import GetLocation from 'react-native-get-location';


getUserLocation() 
    GetLocation.getCurrentPosition(
      enableHighAccuracy: true,
      timeout: 15000,
    )
      .then(location => 
        console.log('location');
        console.log(location);
      )
      .catch(error => 
        const code, message = error;
        console.warn(code, message);
      );
  

返回

accuracy: 20
altitude: x0.47877258310501
bearing: 0
latitude: x0.7637253
longitude: x9.9530597
provider: "fused"
speed: 0
time: xx25230494592

也试过了

import Geolocation from 'react-native-geolocation-service';
    Geolocation.getCurrentPosition(
      position => 
        console.log('position');
        console.log(position);
      ,
      error => 
        // See error code charts below.
        console.log(error.code, error.message);
      ,
      enableHighAccuracy: true, timeout: 15000, maximumAge: 10000,
    );

它返回几乎相同。纬度经度,

coords:
accuracy: 20
altitude: x0.52203785539176
altitudeAccuracy: 3
heading: x70
latitude: x0.7637262
longitude: x9.9530588
speed: 0.0013554140459746122
__proto__: Object
mocked: false
provider: "fused"
timestamp: 1625231106853

【问题讨论】:

【参考方案1】:

尝试使用 npm 包从纬度和经度值中获取地址。 React Native Geocoding

为此,您可能需要从 Google Cloud 生成地理编码 API 密钥

代码示例

import Geocoder from 'react-native-geocoding';

// Initialize the module (needs to be done only once)
Geocoder.init("xxxxxxxxxxxxxxxxxxxxxxxxx"); // use a valid API key

// Search by geo-location (reverse geo-code)
Geocoder.from(41.89, 12.49)
        .then(json => 
                var addressComponent = json.results[0].address_components[0];
            console.log(addressComponent);
        )
        .catch(error => console.warn(error));

【讨论】:

谢谢,我也看到了,但这是免费使用还是什么:D 不,这需要您从谷歌云启用地理编码,还需要添加信用卡信息。用于计费,因此当您的请求超出免费使用限制时,您将被收取费用。 好的,我明白了,没有免费的方法可以正确获取这些数据:D

以上是关于React native 获取国家和城市的主要内容,如果未能解决你的问题,请参考以下文章

React Native Firebase Analytics 获取用户国家

React Native城市选择与切换

React Native Multiple Fetch 返回错误的值

如何在 React Native expo 的下拉选项中动态获取 api 数据

如何利用Android Studio打包React Native APK

如何使用 React-native 根据距离制作过滤器