Skip to content

An open source library for showing distance between two Geo location in React-Native

Notifications You must be signed in to change notification settings

rajeshde/react-native-map-direction

Repository files navigation

react-native-map-direction

This open source library have few applications using Google Maps API.

MapViewer:

Display direction between two geolocation.

Installation:

npm i react-native-map-direction --save

General Usage:

import MapViewer from ‘react-native-map-direction’;

API KEY:

Go to https://developers.google.com/maps/documentation/ios-sdk/get-api-key
and
https://developers.google.com/maps/documentation/android-api/signup to get your keys for both iOS and Android.

Make sure that Google Maps Android API and Google Maps SDK for iOS are enabled for the current project.

https://console.developers.google.com/apis/library/maps-android-backend.googleapis.com/
https://console.developers.google.com/apis/library/maps-ios-backend.googleapis.com

Without an API key the Google Maps map won't render anything.

Where to ADD API KEY:

Add your API key to your manifest file in
“ android/app/src/main/AndroidManifest.xml “

You will only need to add this meta-data tag, but make sure it's a child of application
<application   >
<meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="YOUR_API_KEY_HERE"/>
</application   >

Issues:

If there are any Map related issues and Gradle, then follow this link :

https://itnext.io/install-react-native-maps-with-gradle-3-on-android-44f91a70a395

Customizable Features:

  • Polyline: Color and Width
  • Marker: Color
  • View: height and width

Dependencies Used:

  • ‘react-native-maps’
  • ‘@mapbox/polyline’

Usage:

import MapViewer from 'react-native-map-direction';
class MapComponent extends Component {
  constructor(props) {
  super(props);
  this.state = {
  geoCode: {
    startLoc: {
      lat: 8.192738,
      lon: -77.714723
    },
    destinationLoc: {
      lat: 70.196917
      lon: -148.419491
    }

  },   screenDimension: {
    width: Dimensions.get('window').width, // width
    height: Dimensions.get('window').height //height
  },
  pinColors: {
    start: 'green',
    destination: 'red'
  },
  polyline: {
    strokeColor: 'navy',
    strokeWidth: 4
  }
  }
  }
  render() {
    return (       <MapViewer

          geoCode={this.state.geoCode}
          screenDimension={this.state.screenDimension}
          pinColors={this.state.pinColors}
          polyline={this.state.polyline}
      />
    )
  };
}
export default MapComponent;

Component API:

Props
Props Type Note
geoCode geoCode: {
  startLoc: {
    lat: Number,
    lon: Number
  },  
destinationLoc: {
    lat: Number,
    lon: Number  
}
}
The start and destination geolocation in terms of latitude and longitude.
screenDimension screenDimension: {
  width: Number,
  height: Number
}
Height and width of the view in which the Map will be shown
pinColors pinColors: {
  start: ‘color_name’,
  destination: ‘color_name’   }
Colors for start and destination marker
polyline polyline: {
  strokeColor: ‘color_name’,
  strokeWidth: Number   }
Color and line width for the polyline

About

An open source library for showing distance between two Geo location in React-Native

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published