0.1.7 • Published 11 months ago

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

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months 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

11 months ago

0.1.6

11 months ago

0.1.5

11 months ago

0.1.4

11 months ago

0.1.3

11 months ago

0.1.0

11 months ago