Google Map Route Optimization
import React, { useState, useEffect } from "react";
import {
useJsApiLoader,
GoogleMap,
Marker,
Autocomplete,
DirectionsRenderer,
} from "@react-google-maps/api";
const libraries = ["places"];
const mapContainerStyle = { width: "100%", height: "100%" };
const defaultCenter = { lat: -3.745, lng: -38.523 }; // Example coordinates
function App() {
const { isLoaded } = useJsApiLoader({
googleMapsApiKey: "",
libraries,
});
const [map, setMap] = useState(null);
const [directionsResponse, setDirectionsResponse] = useState(null);
const [distance, setDistance] = useState("");
const [duration, setDuration] = useState("");
const [origin, setOrigin] = useState("");
const [destination, setDestination] = useState("");
useEffect(() => {
if (origin && destination) {
getDirections();
}
}, [origin, destination]);
const getDirections = async () => {
const directionsService = new google.maps.DirectionsService();
const results = await directionsService.route({
origin,
destination,
travelMode: google.maps.TravelMode.DRIVING,
});
setDirectionsResponse(results);
setDistance(results.routes[0].legs[0].distance.text);
setDuration(results.routes[0].legs[0].duration.text);
};
if (!isLoaded) {
return <div>Loading...</div>;
}
return (
<div>
<Autocomplete onPlaceChanged={() => setOrigin(document.getElementById('origin').value)}>
<input type="text" id="origin" placeholder="Enter origin" />
</Autocomplete>
<Autocomplete onPlaceChanged={() => setDestination(document.getElementById('destination').value)}>
<input type="text" id="destination" placeholder="Enter destination" />
</Autocomplete>
<GoogleMap
center={defaultCenter}
zoom={15}
mapContainerStyle={mapContainerStyle}
options={{
zoomControl: false,
streetViewControl: false,
mapTypeControl: false,
fullscreenControl: false,
}}
onLoad={(map) => setMap(map)}
>
<Marker position={defaultCenter} />
{directionsResponse && <DirectionsRenderer directions={directionsResponse} />}
</GoogleMap>
{distance && duration && (
<div>
<p>Distance: {distance}</p>
<p>Duration: {duration}</p>
</div>
)}
</div>
);
}
export default App;
How the Real-Time Route Checking Feature Works
Example Workflow
Integration of Google Maps API for Real-Time Route Checking
Integration of Google Maps API for Real-Time Route Checking
Last updated