Nanoseconds Produce Minutes

    @codens/codens-react-google-maps

    6.0.2 • Public • Published

    react-google-maps

    React.js Google Maps integration component

    Version Travis CI Quality Coverage Dependencies Gitter

    Under development for v6.0.0

    Try it via:

    npm install --save react-google-maps@beta

    Call for maintainers

    As the author (tomchentw) currently doesn't actively use this module, he's looking for awesome contributors to help and keep the community healthy. Please don't hesitate to contact him directly. See #266 for more information.

    Documentation

    Basically just a simple wrapper around Google Maps Javascript API. Also check out the demo app and it's source under src/app folder.

    Note: this doc is under development for v6.0.0. Find docs for v5.x and v4.x with the git tags.

    withGoogleMap

    import { withGoogleMap } from "react-google-maps";
    
    // Wrap all `react-google-maps` components with `withGoogleMap` HOC
    // and name it GettingStartedGoogleMap
    const GettingStartedGoogleMap = withGoogleMap(props => (
      <GoogleMap
        ref={props.onMapLoad}
        defaultZoom={3}
        defaultCenter={{ lat: -25.363882, lng: 131.044922 }}
        onClick={props.onMapClick}
      >
        {props.markers.map((marker, index) => (
          <Marker
            {...marker}
            onRightClick={() => props.onMarkerRightClick(index)}
          />
        ))}
      </GoogleMap>
    ));
    // Then, render it:
    render(
      <GettingStartedGoogleMap
        containerElement={
          <div style={{ height: `100%` }} />
        }
        mapElement={
          <div style={{ height: `100%` }} />
        }
        onMapLoad={_.noop}
        onMapClick={_.noop}
        markers={markers}
        onMarkerRightClick={_.noop}
      />,
      document.getElementById('root')
    );

    GoogleMap

    <GoogleMap
      onClick={_.noop}
      onRightClick={_.noop}
      onDragStart={_.noop}
    />

    Marker

    <Marker
      onClick={_.noop}
      onRightClick={_.noop}
      onDragStart={_.noop}
    />

    Circle

    <Circle
      onClick={_.noop}
      onRightClick={_.noop}
      onDragStart={_.noop}
    />

    Rectangle

    <Rectangle
      onClick={_.noop}
      onRightClick={_.noop}
      onDragStart={_.noop}
    />

    Polyline

    <Polyline
      onClick={_.noop}
      onRightClick={_.noop}
      onDragStart={_.noop}
    />

    Polygon

    <Polygon
      onClick={_.noop}
      onRightClick={_.noop}
      onDragStart={_.noop}
    />

    KmlLayer

    <KmlLayer
      onClick={_.noop}
      onDefaultViewportChanged={_.noop}
      onStatusChanged={_.noop}
    />

    InfoWindow

    <InfoWindow
      onCloseClick={_.noop}
      onDomReady={_.noop}
      onZIndexChanged={_.noop}
    />

    drawing/DrawingManager

    <DrawingManager
      onCircleComplete={_.noop}
      onOverlayComplete={_.noop}
    />

    places/SearchBox

    <SearchBox
      inputPlaceholder="Customized your placeholder"
      inputStyle={INPUT_STYLE}
    />

    addons/MarkerClusterer

    <MarkerClusterer
      onClusteringBegin={_.noop}
      onMouseOut={_.noop}
    />

    addons/InfoBox

    <InfoBox
      onCloseClick={_.noop}
      onDomReady={_.noop}
      onZIndexChanged={_.noop}
    />

    async/withScriptjs

    import { withGoogleMap } from "react-google-maps";
    import withScriptjs from "react-google-maps/lib/async/withScriptjs";
    
    // Wrap all `react-google-maps` components with `withGoogleMap` HOC
    // then wraps it into `withScriptjs` HOC
    // It loads Google Maps JavaScript API v3 for you asynchronously.
    // Name the component AsyncGettingStartedExampleGoogleMap
    const AsyncGettingStartedExampleGoogleMap = withScriptjs(
      withGoogleMap(
        props => (
        <GoogleMap
          ref={props.onMapLoad}
          defaultZoom={3}
          defaultCenter={{ lat: -25.363882, lng: 131.044922 }}
          onClick={props.onMapClick}
        >
          {props.markers.map(marker => (
            <Marker
              {...marker}
              onRightClick={() => props.onMarkerRightClick(marker)}
            />
          ))}
        </GoogleMap>
      )
    );
    // Then, render it:
    render(
      <AsyncGettingStartedExampleGoogleMap
        googleMapURL="https://maps.googleapis.com/maps/api/js?v=3.exp"
        loadingElement={
          <div style={{ height: `100%` }}>
            <FaSpinner
              style={{
                display: `block`,
                width: `80px`,
                height: `80px`,
                margin: `150px auto`,
                animation: `fa-spin 2s infinite linear`,
              }}
            />
          </div>
        }
        containerElement={
          <div style={{ height: `100%` }} />
        }
        mapElement={
          <div style={{ height: `100%` }} />
        }
        onMapLoad={_.noop}
        onMapClick={_.noop}
        markers={markers}
        onMarkerRightClick={_.noop}
      />,
      document.getElementById('root')
    );

    Changelog

    The changelog is automatically generated via conventional-changelog and can be found in project root as well as npm tarball.

    Install

    npm i @codens/codens-react-google-maps

    DownloadsWeekly Downloads

    7

    Version

    6.0.2

    License

    MIT

    Last publish

    Collaborators

    • swaer
    • ddavy