diff --git a/API.md b/API.md index 0b358a4..4c0124b 100644 --- a/API.md +++ b/API.md @@ -269,7 +269,7 @@ render() { } ``` -### Adding a searchbox +### Adding a SearchBox ```javascript import React from 'react'; @@ -339,6 +339,45 @@ The default setting is `gestureHandling:auto` which tries to detect based on the For more details see the [google documentation](https://developers.google.com/maps/documentation/javascript/interaction) for this setting. +### Heatmap Layer + +For enabling heatmap layer, just add `heatmapLibrary={true}` and provide data for heatmap in `heatmap` as props. + +#### Example + +```javascript + + {markers} + +``` + +#### Important Note + +If you have multiple `GoogleMapReact` components in project and you want to use heatmap layer so provide `heatmapLibrary={true}` for all `GoogleMapReact` components so component will load heatmap library at the beginning with google map api. + ### Localizing the Map This is done by setting bootstrapURLKeys.[language](https://developers.google.com/maps/documentation/javascript/localization#Language) and bootstrapURLKeys.[region](https://developers.google.com/maps/documentation/javascript/localization#Region). Also notice that setting region to 'cn' is required when using the map from within China, see [google documentation](https://developers.google.com/maps/documentation/javascript/localization#GoogleMapsChina) for more info. Setting 'cn' will result in use of the specific API URL for China. diff --git a/README.md b/README.md index c5f6eca..a977773 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,70 @@ -[![npm version](https://badge.fury.io/js/google-map-react.svg)](http://badge.fury.io/js/google-map-react) -[![Build Status](https://travis-ci.org/istarkov/google-map-react.svg?branch=master)](https://travis-ci.org/istarkov/google-map-react) +# Google Map React · [![npm version](https://badge.fury.io/js/google-map-react.svg)](http://badge.fury.io/js/google-map-react) [![Build Status](https://travis-ci.org/istarkov/google-map-react.svg?branch=master)](https://travis-ci.org/istarkov/google-map-react) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](github.com/istarkov/google-map-react/CONTRIBUTING.md) `google-map-react` is a component written over a small set of the [Google Maps API](https://developers.google.com/maps/). It allows you to render any React component on the Google Map. It is fully isomorphic and can render on a server. Additionally, it can render map components in the browser even if the Google Maps API is not loaded. It uses an internal, tweakable hover algorithm - every object on the map can be hovered. It allows you to create interfaces like this [example](http://istarkov.github.io/google-map-react/map/main) *(You can scroll the table, zoom/move the map, hover/click on markers, and click on table rows)* +## Getting started + +In the simple case you just need to add `lat` and `lng` props to any child of `GoogleMapReact` component. + +[See it in action at jsbin](https://jsbin.com/gaxapezowo/1/edit?js,output) + +```javascript +import React, { Component } from 'react'; +import GoogleMapReact from 'google-map-react'; + +const AnyReactComponent = ({ text }) =>
{text}
; + +class SimpleMap extends Component { + static defaultProps = { + center: { + lat: 59.95, + lng: 30.33 + }, + zoom: 11 + }; + + render() { + return ( + // Important! Always set the container height explicitly +
+ + + +
+ ); + } +} + +export default SimpleMap; +``` + +### My map doesn't appear! + +- Make sure the container element has width and height. The map will try to fill the parent container, but if the container has no size, the map will collapse to 0 width / height. This is not a requirement for google-map-react, [its a requirement for google-maps in general](https://developers.google.com/maps/documentation/javascript/tutorial). + + +## Installation + +npm: +``` +npm install --save google-map-react +``` + +yarn: +``` +yarn add google-map-react +``` + ## Features ### Works with your Components @@ -23,112 +83,6 @@ It renders components on the map before (and even without) the Google Maps API l There is no need to place a `