@kiwicom/react-native-reverse-geocode
v0.0.7
Published
A React Native wrapper for MapKit's MKLocalSearch and Geocoder's getFromLocatioName
Downloads
46
Keywords
Readme
@kiwicom/react-native-reverse-geocode
Thin wrapper over MapKit's MKLocalSearch
and Geocoder's getFromLocationName
.
Disclaimer
This is still a work in progress and is suited to one specific usecase.
This project is no longer being actively maintained by Kiwi.com. Feel free to provide us with PR's if you have any issues, and we will see to having the PR's merged.
Getting started
$ npm install @kiwicom/react-native-reverse-geocode --save
Mostly automatic installation
$ react-native link @kiwicom/react-native-reverse-geocode
Manual installation
iOS
- In XCode, in the project navigator, right click
Libraries
➜Add Files to [your project's name]
- Go to
node_modules
➜@kiwicom/react-native-reverse-geocode
and addRNReverseGeocode.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRNReverseGeocode.a
to your project'sBuild Phases
➜Link Binary With Libraries
- Run your project (
Cmd+R
)<
Android
- Open up
android/app/src/main/java/[...]/MainApplication.java
- Add
import com.kiwi.reversegeocode.RNReverseGeocodePackage;
to the imports at the top of the file - Add
new RNReverseGeocodePackage()
to the list returned by thegetPackages()
method
- Append the following lines to
android/settings.gradle
:include ':@kiwicom/react-native-reverse-geocode' project(':@kiwicom/react-native-reverse-geocode').projectDir = new File(rootProject.projectDir, '../node_modules/@kiwicom/react-native-reverse-geocode/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:compile project(':@kiwicom/react-native-reverse-geocode')
Usage
import RNReverseGeocode from "@kiwicom/react-native-reverse-geocode";
const region = {
latitude: 50,
longitude: 14,
latitudeDelta: 0.01,
longitudeDelta: 0.01
};
const searchText = "Charles";
RNReverseGeocode.searchForLocations(
this.props.searchText,
this.props.region,
(err, res) => {
console.log({
error: err,
addresses: res
});
}
);
and you should get similar results (on iOS):
{
error: null,
addresses: [
{
name: "Prague Bridge",
location: {longitude: 14.411334693431856, latitude: 50.08649403063166},
address: "Charles Bridge, Karlův most, 118 00 Prague, Czech Republic"
},
{
name: "Sheraton Prague Charles Square Hotel",
location: {longitude: 14.422428309917, latitude: 50.077311685646},
address: "Žitná 561/8, 120 00 Prague, Czech Republic"
},
{
name: "Charles Bridge Palace",
location: {longitude: 14.415033459663391, latitude: 50.08505182184114},
address: "Anenské náměstí 1, 110 00 Praha, Česká republika"
},
{
name: "Charles University",
location: {longitude: 14.420802368359185, latitude: 50.0843581717817},
address: "Opletalova 26, 110 00 Prague, Czech Republic"
},
{
name: "Hotel Charles Central",
location: {longitude: 14.4520895183086, latitude: 50.0933086545776},
address: "Thámova 117/26, 186 00 Prague, Czech Republic"
},
{
name: "Moods Charles Bridge",
location: {longitude: 14.414653540861101, latitude: 50.084306327469044},
address: "Náprstkova 6, 110 00 Prague, Czech Republic"
},
{
name: "Charles",
location: {longitude: 14.405249099444005, latitude: 50.08762292985475},
address: "Josefská 1, 118 00 Prague, Czech Republic"
},
{
name: "Archibald At the Charles Bridge",
location: {longitude: 14.408739869235935, latitude: 50.085910196031264},
address: "Na Kampě 15, 118 00 Prague, Czech Republic"
},
{
name: "Charles Bridge Restaurant",
location: {longitude: 14.413779917788725, latitude: 50.08589906996886},
address: "Smetanovo nábřeží 195, 110 00 Prague, Czech Republic"
},
{
name: "Muzeum Karlova mostu",
location: {longitude: 14.413869380950928, latitude: 50.08649403063166},
address: "Křižovnické náměstí 3, 110 00 Prague, Czech Republic"
}
]
}
License
See License