npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-gmap-plugin

v2.0.1

Published

React Plugin for Google map

Downloads

19

Readme

react-gmap-plugin

Google Maps plugin for react

Features

Maps Javascript API is used to render dynamic Map in association with utility functions to customize the behaviour

Usage with Component

import React from 'react'
import {MapComponent} from 'react-gmap-plugin'

const App=()=>{
const mapRef= React.useRef('') // provide access to the google maps instance anywhere in the component
return  <div className="App" style={{ height: "200px" }}>
        <MapComponent mapRef={mapRef} API="your-api-key"/>
        </div>

}

Usage with Services

import React from 'react'
import {MapComponent,MapServices} from 'react-gmap-plugin'
const {placeMarkerOnClick} = MapServices
const App=()=>{
const mapRef= React.useRef('') // provide access to the google maps instance anywhere in the component
const onMapClick=event=>{
placeMarkerOnClick(mapRef.current,event.latLng)
}
return  <div className="App" style={{ height: "200px" }}>
        <MapComponent mapRef={mapRef} API="your-api-key" onMapClick={onMapClick}/>
        </div>

}

MapComponent Props

|Name | Type | Description |---|---|--- API|String|Required: Your Google Maps API Key. Additionally you can provide libraries or other query params after the key. Eg: API='yourkey&library=places,geometry'. Can also be set globally using env variable REACT_APP_GMAPAPI. One of either is mandatory mapRef|Object|Required: The google maps instance is created on the initial load of map across the application.The instance can be accessed by a component by passign a React ref. This is used when accessing the MapServices functions or while creating your own Services markerList|Array|The list of markers that are shown in the map at a time. For dynamic markers, recommended to keep in a state as array.The lat and lng key determinses the position and markerIcon is the key of custom marker image to be looked up from the markerIcons prop. markerIcon is not mandatory and if not provided uses default marker icon. Eg: markerList={[lat:floatNumber,lng:floatNumber,markerIcons:'string', ...anyOtherKeys]} defaultLocation|Object|The initial centered location when map is rendered. {lat:floatNumber,lng:floatNumber}. Default:{lat: 41.2033, lng: -77.1945} at Pennsylvania. defaultZoom|Number| The default zoom level. Default: 6 disable|Boolean|To disable the map rendering. Default:false. When disable is true, the map is not rendered instead an empty div with className:'map-optional-container' is rendered. Can be used to enable map on click of a button. options|Object|The optional items when rendering the map. Default: {center: {lat: 41.2033,lng: -77.1945}, zoom: 6, streetViewControl: false, mapTypeControl: false } enableLocationSearch|Boolean|A Searchbox is rendered with the map. Default: false. css can be adjusted to bring the required UI using the classNames of the search box onSearch|function| Used is association with enableLocationSearch. The function can be called in association with geocode service or any other custom functionalities onClearSearch|function|Any optional callbacks actions. The input is cleared on clicking clear button on search box by default showDirectionPanel|Boolean| To show directions in a panel after calling the directions service. Used with directionsPanelContainer function. directionsPanelContainer|function|Custom wrapper for the directionPanel. Eg: directionsPanelContainer={(child)=><div className='wrapper'>{child}</div> }.Made in this format to Print directionPanel with additional wrappers markerIcons| Object|The key value pairs of src url or imported image to be used as custom marker icon. defaultMarkerIcon|string/image| Overrides the default marker icon to be used. This can further be overrriden by the markerIcon key in markerList onMapClick|function(event)| Triggered on Clicking anywhere on Map onMarkerClick|function(marker,event,markerDetail)| Triggered on Clicking the Marker Provided in the markerList Array

MapServices Params

Function|Params|Description ----|---|--- placeMarkerOnClick| (mapRef.current <Object>: React ref,latLng <Object>: {lat:<float>,lng:<float>})|Used in association with onMapClick. Used to place a marker at coordinate of click. The markers places cannot be controlled later.Suggest to update a state object containing markers mapFitBounds|(mapRef.current <Object>: React ref,coordinates <Array>:[{lat:<float>,lng:<float>}])|Used to fit the viewport so as to include all the coordinates loadGMaps|(apikey<String>,callback<function>)| Used for dynamic loading of Maps Javascript API. Is already called if you import MapCoponent showInfoWindow|(mapRef.current <Object>: React ref, marker <Object>: marker instance, content <String>, callback <function>)| Used to display info window in association with a marker(like onMarkerClick). Callback function is supplied with the created infowindow instance See examples for usage advancedDirections|(mapRef.current <Object>: React ref, coordinates <Array>:[{lat:<float>,lng:<float>}], callback <function>)| Used to render direction in the map. The coordinates corresponds to the intermediate waypoints. Directions API have limitation of 25 way point. But this limitation is handled by calling batch direction requests and joining them in the map. callback function is supplied with the DirectionRenderer instance. If showDirectionPanel is enabled, this will also give a directions panel after calling this service geocode|(mapRef.current <Object>: React ref, address <String>, callback <function>)| Used to get the geocoded result of an input address. Callback function is supplied with the response placeMarkerAfterGeoCode|(mapRef.current <Object>: React ref, address <String>:address to geocode, callback <function>, elementList <Array>:list of infowindows already present)| Used to convert address to coordiantes and place marker on the coordinate.

Examples

The Examples are provided in the package website

License

This plugin is provided with MIT License