Socket
Book a DemoInstallSign in
Socket

react-mapbox-gl-geocoder

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-mapbox-gl-geocoder

Simple react autocomplete for geocoding locations using [Mapbox API](https://www.mapbox.com/api-documentation/?language=JavaScript#introduction). You can use it with [react-map-gl](https://github.com/uber/react-map-gl) to pan to found locations.

latest
Source
npmnpm
Version
1.1.0
Version published
Weekly downloads
184
-38.26%
Maintainers
1
Weekly downloads
 
Created
Source

react-mapbox-gl-geocoder

Simple react autocomplete for geocoding locations using Mapbox API. You can use it with react-map-gl to pan to found locations.

NPM JavaScript Style Guide

Install

npm install --save react-mapbox-gl-geocoder
# or
yarn add react-mapbox-gl-geocoder

Usage

import React, {Component} from 'react'
import Geocoder from 'react-mapbox-gl-geocoder'
import ReactMapGL from 'react-map-gl'
import './index.css'

const mapAccess = {
    mapboxApiAccessToken: process.env.REACT_APP_MAPBOX_API_ACCESS_TOKEN
}

const mapStyle = {
    width: '100%',
    height: 600
}

const queryParams = {
    country: 'us'
}

class App extends Component {
    state = {
        viewport: {}
    }

    onSelected = (viewport, item) => {
        this.setState({viewport});
        console.log('Selected: ', item)
    }

    render() {
        const {viewport} = this.state

        return (
            <div>
                <Geocoder
                    {...mapAccess} onSelected={this.onSelected} viewport={viewport} hideOnSelect={true}
                    queryParams={queryParams}
                />

                <ReactMapGL
                    {...mapAccess} {...viewport} {...mapStyle}
                    onViewportChange={(newViewport) => this.setState({viewport: newViewport})}
                />
            </div>
        )
    }
}

Props

NameTypeDescriptionDefault
mapboxApiAccessToken(required) stringMapbox Access Token-
timeoutintDebounce between pressing the key and quering the results300
viewportobjectMap Viewport-
onSelected(required) function(viewport, item)Receives selected item and the viewport to set for the selected item-
transitionDurationintDuration of the smooth transition0
hideOnSelectboolWhether to hide results on select or notfalse
updateInputOnSelectboolWhether to set the input value to the selected locationfalse
pointZoomintZoom to set if a specific location (without bbox) is selected16
formatItemfunction(item)Function used for formatting resultsitem => item.place_name
classNamestringClass to add to the top component-
queryParamsobjectQuery parameters to use when searching of the results, you can see available options here-
limitintLimit of the results5
localGeocoderfunction(queryString)Function to supplement local results to geocoder-
initialInputValuestringThe initial input value''

Styling

This component does NOT come with any styles. You can style it yourself by using classes:

Class nameDescription
.react-geocodercomponent wrapper class
.react-geocoder-resultsresults wrapper class
.react-geocoder-itemsingle result class

Replacing components

You can even supplement your own components:

Property namePassed PropertiesProperties description
inputComponentonChangeFunction to call when the text changes
itemComponentitem, onClick, childrenchildren is item formatted to display

License

MIT © groinder

FAQs

Package last updated on 29 Sep 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts