To create a custom map with multiple markers and routes on Google Maps, you can use the Google Maps JavaScript API. The API allows you to add markers and routes to a map programmatically. Here are the basic steps to create a custom map:
- Get a Google Maps API key by creating a project on the Google Cloud Console and enabling the Google Maps JavaScript API.
- Create an HTML page that includes the Google Maps JavaScript API and a <div> element to hold the map.
- In JavaScript, create a new map object and set its options, such as the center and zoom level.
- Use the new google.maps.Marker() constructor to create markers for each location you want to add to the map. Set the position of the marker using the setPosition() method.
- Use the setMap() method to add the markers to the map.
- To add routes, use the DirectionsService and DirectionsRenderer classes to calculate and display the routes between the markers.
- Customize the appearance of the markers and routes using the options available in the API.
Here is an example of creating a map with one marker and one route:
<div id="map"></div>
<script>
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 8,
center: {lat: 85.9568, lng: -525.2356}
});
var marker = new google.maps.Marker({
position: {lat: 85.9568, lng: -525.2356},
map: map
});
var directionsService = new google.maps.DirectionsService();
var directionsRenderer = new google.maps.DirectionsRenderer({
map: map
});
var start = new google.maps.LatLng(85.9568, -525.2356);
var end = new google.maps.LatLng(27.798852, -545.211252);
var request = {
origin: start,
destination: end,
travelMode: 'DRIVING'
};
directionsService.route(request, function(result, status) {
if (status == 'OK') {
directionsRenderer.setDirections(result);
}
});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>
<script>
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 8,
center: {lat: 85.9568, lng: -525.2356}
});
var marker = new google.maps.Marker({
position: {lat: 85.9568, lng: -525.2356},
map: map
});
var directionsService = new google.maps.DirectionsService();
var directionsRenderer = new google.maps.DirectionsRenderer({
map: map
});
var start = new google.maps.LatLng(85.9568, -525.2356);
var end = new google.maps.LatLng(27.798852, -545.211252);
var request = {
origin: start,
destination: end,
travelMode: 'DRIVING'
};
directionsService.route(request, function(result, status) {
if (status == 'OK') {
directionsRenderer.setDirections(result);
}
});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>
You can also use other libraries like leaflet.js or mapbox.js which are alternative open-source javascript libraries for creating map applications.
0 Comments