
Research
/Security News
11 Malicious Go Packages Distribute Obfuscated Remote Payloads
Socket uncovered 11 malicious Go packages using obfuscated loaders to fetch and execute second-stage payloads via C2 domains.
react-google-maps-native
Advanced tools
TypeScript React components for Google Maps using native JS API with Marker, Path, and Cluster functionality
A lightweight TypeScript 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.
npm install react-google-maps-native
or
yarn add react-google-maps-native
import { GoogleMap, Marker, Path, Cluster } from 'react-google-maps-native';
// Basic Map
const MapComponent = () => {
return (
<GoogleMap
apiKey="YOUR_GOOGLE_MAPS_API_KEY"
center={{ lat: 37.7749, lng: -122.4194 }}
zoom={12}
/>
);
};
// Map with Markers
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
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
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>
);
};
Main component that renders a Google Map instance.
Props:
Prop | Type | Default | Description |
---|---|---|---|
apiKey | string | required | Your Google Maps API key |
center | LatLngLiteral | { lat: 0, lng: 0 } | The initial center position of the map |
zoom | number | 10 | The initial zoom level of the map |
options | MapOptions | {} | Additional map options (see Google Maps API) |
containerStyle | CSSProperties | { width: '100%', height: '400px' } | Style for the map container |
onLoad | function | - | Callback when map is loaded |
onClick | function | - | Callback when map is clicked |
onDragEnd | function | - | Callback when map drag ends |
Component for placing markers on the map.
Props:
Prop | Type | Default | Description |
---|---|---|---|
position | LatLngLiteral | required | The position of the marker (lat, lng) |
icon | string/Icon/Symbol | - | Custom icon URL or object |
label | string/MarkerLabel | - | Marker label |
title | string | - | Marker title (shown on hover) |
draggable | boolean | false | Whether the marker can be dragged |
onClick | function | - | Callback when marker is clicked |
onDragEnd | function | - | Callback when marker drag ends |
showInfoWindow | boolean | false | Whether to initially show the info window |
infoWindowContent | ReactNode | - | Content for the info window |
zIndex | number | - | The zIndex of the marker |
Component for drawing lines on the map.
Props:
Prop | Type | Default | Description |
---|---|---|---|
path | LatLngLiteral[] | required | Array of positions (lat, lng) |
options | PolylineOptions | { strokeColor: '#FF0000', strokeOpacity: 1.0, strokeWeight: 2 } | Path style options |
onClick | function | - | Callback when path is clicked |
onMouseOver | function | - | Callback when mouse enters path |
onMouseOut | function | - | Callback when mouse leaves path |
editable | boolean | false | Whether the path is editable |
draggable | boolean | false | Whether the path is draggable |
Component for clustering markers.
Props:
Prop | Type | Default | Description |
---|---|---|---|
options | object | {} | Clustering options |
onClusteringBegin | function | - | Callback when clustering begins |
onClusteringEnd | function | - | Callback when clustering ends |
onLoad | function | - | Callback when clusterer is loaded |
MIT
FAQs
TypeScript React components for Google Maps using native JS API with Marker, Path, and Cluster functionality
The npm package react-google-maps-native receives a total of 0 weekly downloads. As such, react-google-maps-native popularity was classified as not popular.
We found that react-google-maps-native demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Research
/Security News
Socket uncovered 11 malicious Go packages using obfuscated loaders to fetch and execute second-stage payloads via C2 domains.
Security News
TC39 advances 11 JavaScript proposals, with two moving to Stage 4, bringing better math, binary APIs, and more features one step closer to the ECMAScript spec.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).