Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

react-google-maps

Package Overview
Dependencies
Maintainers
1
Versions
99
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-google-maps

React.js Google Maps integration component

  • 4.2.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
141K
decreased by-2.32%
Maintainers
1
Weekly downloads
 
Created
Source

react-google-maps Travis CI Quality Coverage Dependencies Gitter

React.js Google Maps integration component

Version

Quick start: SimpleMap

Declare your Google Maps components using React components.

import {GoogleMap, Marker} from "react-google-maps";

export default function SimpleMap (props) {
  return (
    <section style={{height: "100%"}}>
      <GoogleMap containerProps={{
          style: {
            height: "100%",
          },
        }}
        defaultZoom={3}
        defaultCenter={{lat: -25.363882, lng: 131.044922}}
        onClick={props.onMapClick}
      >
        {props.markers.map((marker, index) => {
          return (
            <Marker
              {...marker}
              onRightclick={() => props.onMarkerRightclick(index)} />
          );
        })}
      </GoogleMap>
    </section>
  );
}

Documentation

Rule 1

Define <GoogleMap> component in the top level. Use containerProps, containerTagName to customized the wrapper DOM for the component.

Other components like <Marker> belongs to the children of <GoogleMap>. You already know this from the example code above.

Rule 2

Everything in the Methods table in the official documentation of the component could be set via component's props directly. For example, a <Marker> component has the following props:

animation, attribution, clickable, cursor, draggable, icon, label, opacity, options, place, position, shape, title, visible, zIndex

Rule 3

Every props mentioned in Rule 2 could be either controlled or uncontrolled property. Free to use either one depends on your use case.

Rule 4

Anything that are inside components' options property could ONLY be accessible via props.options. It's your responsibility to manage props.options object during the React lifetime for your component. My suggestion is, always use Rule 3 if possible. Only use options when it's necessary.

Map Event Triggers

One common event trigger is to resize map after the size of the container div changes:

componentDidUpdate() {
    var map = ReactDOM.findDOMNode(this.refs.map);
    window.google.maps.event.trigger(map, 'resize');
}

<GoogleMap {...props} ref="map" > ... </GoogleMap>

Check the examples

Static hosted demo site on GitHub. The code is located under examples/gh-pages folder.

Usage

react-google-maps requires React 0.14

npm install --save react-google-maps

All components are available on the top-level export.

import { GoogleMap, Marker, SearchBox } from "react-google-maps";

Optimize bundle size

You could of course import from individual modules to save your webpack's bundle size.

import GoogleMap from "react-google-maps/lib/GoogleMap"; // Or import {default as GoogleMap} ...

Additional Addons

Some addons component could ONLY be accessible via direct import:

import InfoBox from "react-google-maps/lib/addons/InfoBox";

Development

First, clone the project.

git clone ...

With Docker

Install docker@^1.8.2, docker-compose@^1.4.0 and optionally docker-machine@^0.4.1. Then,

docker-compose run --service-ports web

Then open http://192.168.59.103:8080.

192.168.59.103 is actually your ip from docker-machine ip.

If you change code in your local, you'll need to rebuild the image to make changes happen.

If you're previously using boot2docker, you may want to migrate to docker-machine instead.

docker-compose build

With Mac

Install node. Then,

npm install
cd examples/gh-pages
npm install
npm start

Then open http://localhost:8080/webpack-dev-server/.

With Windows

Install node. Then,

npm install
cd examples/gh-pages
npm install
npm start:windows

Then open http://localhost:8080/webpack-dev-server/.

Contributing

devDependency Status

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Keywords

FAQs

Package last updated on 16 Nov 2015

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc