react-native-geocoder icon indicating copy to clipboard operation
react-native-geocoder copied to clipboard

get the locality of the place

Open bbeckk opened this issue 7 years ago • 3 comments

Why does it gives 10 outcomes in the following code? How can I get the city name only? I've tested in android devices.

	var NY = {
	  lat: 40.7809261,
	  lng: -73.9637594,
	};

	export default class App extends Component<Props> {


	  currentArea = () => {
		Geocoder.geocodePosition(NY).then(res => {
			console.log('position', res);
		})
		.catch(err => console.log(err))
	  }
	  render() {
		return (
		  <View>
			<TouchableOpacity
			  onPress={() => this.currentArea()}
			>
			  <Text>Get current location</Text>
			</TouchableOpacity>
		  </View>
		);
	  }
	}

Debugged value:

position 
(10) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
0
:
{streetName: "East Drive", feature: null, locale: "en_GB", locality: "New York", position: {…}, …}
1
:
{streetName: null, feature: "Central Park", locale: "en_GB", locality: "New York", position: {…}, …}
2
:
{streetName: null, feature: "Manhattan", locale: "en_GB", locality: "New York", position: {…}, …}
3
:
{streetName: null, feature: null, locale: "en_GB", locality: "New York", position: {…}, …}
4
:
{streetName: null, feature: "10028", locale: "en_GB", locality: "New York", position: {…}, …}
5
:
{streetName: null, feature: "New York County", locale: "en_GB", locality: "New York", position: {…}, …}
6
:
{streetName: null, feature: "New York-Northern New Jersey-Long Island, NY-NJ-PA", locale: "en_GB", locality: null, position: {…}, …}
7
:
{streetName: null, feature: "New York Metropolitan Area", locale: "en_GB", locality: null, position: {…}, …}
8
:
{streetName: null, feature: "New York", locale: "en_GB", locality: null, position: {…}, …}
9
:
{streetName: null, feature: "United States", locale: "en_GB", locality: null, position: {…}, …}
length
:
10
__proto__
:
Array(0)

bbeckk avatar Jul 22 '18 11:07 bbeckk

For Android - this library uses Geocoder under the hood.

Returns an array of Addresses that are known to describe the area immediately surrounding the given latitude and longitude.

You could use res[0].country for example.

bkspace avatar Jul 22 '18 22:07 bkspace

Thankyou.. @bkspace I just wonder why it gives an array with 10 different objects?

bbeckk avatar Jul 23 '18 05:07 bbeckk

I don’t think I know the exact answer to that - other than geocoding is hard and the backend services will try and ‘estimate’ your location

bkspace avatar Jul 23 '18 07:07 bkspace