Import the MapQuest JavaScript SDK
To integrate the MapQuest API in JavaScript, start by including the MapQuest JavaScript SDK in your HTML document. This SDK provides access to various MapQuest services like geocoding, routing, and static maps.
<script type="text/javascript" src="https://www.mapquestapi.com/sdk/leaflet/v2.2/mq-map.js?key=YOUR_API_KEY"></script>
Ensure to replace YOUR_API_KEY
with your actual MapQuest API key.
Set Up the Map Container
Define a container where you want the map to be displayed. Typically, this is a div
with a specified width and height.
<div id="map" style="width: 600px; height: 400px;"></div>
Initialize the Map
After setting up the map container, you can initialize the map using JavaScript. This involves creating a map instance and specifying the initial location and zoom level.
window.onload = function() {
L.mapquest.key = 'YOUR_API_KEY';
// Create a new map instance
var map = L.mapquest.map('map', {
center: [37.7749, -122.4194], // Latitude and longitude of the starting point
layers: L.mapquest.tileLayer('map'),
zoom: 12
});
// Add controls to the map
map.addControl(L.mapquest.control());
};
Replace 37.7749
and -122.4194
with the desired latitude and longitude coordinates.
Add Markers to the Map
You can add markers to the map to highlight specific locations. Use the L.marker
method provided by the MapQuest SDK.
L.marker([37.7749, -122.4194], {
icon: L.mapquest.icons.marker({
primaryColor: '#22407F',
secondaryColor: '#3B5998',
shadow: true,
size: 'md',
symbol: 'A'
})
}).bindPopup('This is San Francisco!').addTo(map);
Change the coordinates and popup text according to your needs.
Use Additional MapQuest Features
MapQuest API provides more functionalities like routing and geocoding. You can integrate these services using the same SDK. For example, here's how you can add a routing layer to your map:
L.mapquest.directions().route({
start: 'San Francisco, CA',
end: 'Los Angeles, CA'
});
This code will display a route on the map from San Francisco to Los Angeles.
Handle Events on the Map
You can also handle various events such as click and drag on the map. The following example demonstrates an event listener for map clicks:
map.on('click', function(event) {
alert('Map was clicked at ' + event.latlng);
});
This listener will show an alert displaying the latitude and longitude where the user clicked on the map.