0.1.7 • Published 1 year ago

@fleetclear-connect/react-google-maps-native v0.1.7

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

Google Maps React Native

A lightweight React library for integrating Google Maps into your application using the native Google Maps JavaScript API. This package provides ready-to-use components for creating maps, adding markers, drawing paths, and clustering markers without any external map package dependencies.

Installation

npm install react-google-maps-native

or

yarn add react-google-maps-native

Usage

Basic Map

import { GoogleMap } from 'react-google-maps-native';

const MapComponent = () => {
  return (
    <GoogleMap 
      apiKey="YOUR_GOOGLE_MAPS_API_KEY"
      center={{ lat: 37.7749, lng: -122.4194 }}
      zoom={12}
    />
  );
};

Map with Markers

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

const MapWithMarkers = () => {
  return (
    <GoogleMap 
      apiKey="YOUR_GOOGLE_MAPS_API_KEY"
      center={{ lat: 37.7749, lng: -122.4194 }}
      zoom={12}
    >
      <Marker 
        position={{ lat: 37.7749, lng: -122.4194 }}
        title="San Francisco"
        infoWindowContent={<div>Welcome to San Francisco!</div>}
      />
      <Marker 
        position={{ lat: 37.7647, lng: -122.4321 }}
        title="Golden Gate Park"
      />
    </GoogleMap>
  );
};

Map with Path

import { GoogleMap, Path } from 'react-google-maps-native';

const MapWithPath = () => {
  const pathCoordinates = [
    { lat: 37.7749, lng: -122.4194 },
    { lat: 37.7647, lng: -122.4321 },
    { lat: 37.7837, lng: -122.4324 }
  ];

  return (
    <GoogleMap 
      apiKey="YOUR_GOOGLE_MAPS_API_KEY"
      center={{ lat: 37.7749, lng: -122.4194 }}
      zoom={12}
    >
      <Path 
        path={pathCoordinates}
        options={{
          strokeColor: '#0000FF',
          strokeOpacity: 0.8,
          strokeWeight: 3
        }}
      />
    </GoogleMap>
  );
};

Map with Marker Clustering

import { GoogleMap, Marker, Cluster } from 'react-google-maps-native';

const MapWithClusters = () => {
  const markers = [
    { id: 1, position: { lat: 37.7749, lng: -122.4194 }, title: "San Francisco" },
    { id: 2, position: { lat: 37.7647, lng: -122.4321 }, title: "Golden Gate Park" },
    { id: 3, position: { lat: 37.7837, lng: -122.4324 }, title: "Fisherman's Wharf" }
    // More markers...
  ];

  return (
    <GoogleMap 
      apiKey="YOUR_GOOGLE_MAPS_API_KEY"
      center={{ lat: 37.7749, lng: -122.4194 }}
      zoom={12}
    >
      <Cluster>
        {markers.map(marker => (
          <Marker 
            key={marker.id}
            position={marker.position}
            title={marker.title}
          />
        ))}
      </Cluster>
    </GoogleMap>
  );
};

API Reference

GoogleMap

PropTypeDefaultDescription
apiKeystringrequiredYour Google Maps API key
centerobject{ lat: 0, lng: 0 }The initial center position of the map
zoomnumber10The initial zoom level of the map
optionsobject{}Additional map options (see Google Maps API)
containerStyleobject{ width: '100%', height: '400px' }Style for the map container
onLoadfunction-Callback when map is loaded
onClickfunction-Callback when map is clicked
onDragEndfunction-Callback when map drag ends

Marker

PropTypeDefaultDescription
positionobjectrequiredThe position of the marker (lat, lng)
iconstring/object-Custom icon URL or object
labelstring-Marker label
titlestring-Marker title (shown on hover)
draggablebooleanfalseWhether the marker can be dragged
onClickfunction-Callback when marker is clicked
onDragEndfunction-Callback when marker drag ends
showInfoWindowbooleanfalseWhether to initially show the info window
infoWindowContentnode-Content for the info window
zIndexnumber-The zIndex of the marker

Path

PropTypeDefaultDescription
patharrayrequiredArray of positions (lat, lng)
optionsobject{ strokeColor: '#FF0000', strokeOpacity: 1.0, strokeWeight: 2 }Path style options
onClickfunction-Callback when path is clicked
onMouseOverfunction-Callback when mouse enters path
onMouseOutfunction-Callback when mouse leaves path
editablebooleanfalseWhether the path is editable
draggablebooleanfalseWhether the path is draggable

Cluster

PropTypeDefaultDescription
optionsobject{}Clustering options
onClusteringBeginfunction-Callback when clustering begins
onClusteringEndfunction-Callback when clustering ends
onLoadfunction-Callback when clusterer is loaded

License

MIT

0.1.7

1 year ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.0

1 year ago