A React-based interactive map demo for visualizing and managing delivery zones, sub-zones, and vendors using Google Maps.
- Pincode-level Zones — Display polygon boundaries for delivery pincodes on the map
- Sub-zones — View granular zones within a pincode (e.g. Zone 1000, 1001 inside pincode 641032)
- Area Filter Panel — Filter visible zones by pincode and/or sub-zone
- Colored Vendor Markers — Each vendor marker is colored to match its zone, with name labels
- Vendor Info Popup — Click any marker to see vendor ID, name, type, phone, and address
- Drawing Tool — Use the polygon drawing tool to sketch new delivery zones on the map
- Selected Zone Tags — Active filters shown as removable tags in the toolbar
git clone https://github.com/atozcreators/google-maps-zone-manager.git
cd google-map-zonenpm install / npm iCreate a .env file in the root of the project:
REACT_APP_GOOGLE_MAPS_KEY=your_google_maps_api_key_hereMake sure your API key has Maps JavaScript API and Geocoding API enabled in Google Cloud Console. Never commit your
.envfile — it's already in.gitignore.
npm startApp will run at http://localhost:3000
All data lives in src/data/data.js and is hardcoded for demo purposes.
Pincode-level polygon boundaries.
{
"641032": [{ lat, lng }, ...],
"641033": [{ lat, lng }, ...],
}Sub-zones nested inside each pincode.
{
"641032": {
"1000": [{ lat, lng }, ...],
"1001": [{ lat, lng }, ...],
}
}Vendors grouped by pincode, each with an optional zone_id linking to a sub-zone.
{
"641032": [
{ zone_id: "1000", vendor_id: 122331, vendor_name: "Praveen", ... },
]
}- Go to Google Cloud Console
- Create a new project
- Enable Maps JavaScript API and Geocoding API
- Create an API key and paste it in your
.envfile
- This is a demo project with hardcoded data — no backend or database
- In the production version, data is fetched from APIs and managed via Redux
- The drawing tool lets you sketch zones visually; saving is not wired in this demo you can save it you backend using coordinates data its very easy
MIT





