In questo tutorial, vedremo come visualizzare una mappa ( usando le Google Maps API) centrata su “Roma” e usare una piccola icona (marker) per identificare la posizione sulla mappa.
La parte fondamentale del progetto è nella pagina visualizzaMappa.html:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html> <html> <head> <title>Google Map Hello World Example</title> <style type="text/css"> div#map_container{ width:100%; height:350px; } </style> <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> <script type="text/javascript"> function loadMap() { var latlng = new google.maps.LatLng(41.9012188, 12.5018501); var myOptions = { zoom: 4, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map_container"),myOptions); var marker = new google.maps.Marker({ position: latlng, map: map, title:"roma!" }); } </script> </head> <body onload="loadMap()"> <div id="map_container"></div> </body> </html>
La versione di Google Maps Api è la 3.
Analizziamo il sorgente.
La prima cosa da fare è importare gli javascript di Google Maps Api:
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"> </script>
La mappa verrà caricata nel div con id map_container
<style type="text/css"> div#map_container{ width:600px; height:500px; } </style> <div id="map_container"></div>
La funzione javascript che si occupa di creare la mappa, settare il marker è loadMap()
<script type="text/javascript"> function loadMap() { var latlng = new google.maps.LatLng(41.9012188, 12.5018501);
I numeri 41.9012188, 12.5018501 indicato la latitudine e la longitudine della posizione che ci interessa, in questo caso Roma.
Il passo successivo è settare le opzioni della mappa:
var myOptions = { zoom: 4, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP };
Per un elenco completo di tutte le possibili opzioni vedere qua Google map options.
Colleghiamo l’oggetto javascript map con il div map_container
var map = new google.maps.Map(document.getElementById("map_container"),myOptions);
L’ultimo passo è creare il marker, cioè la posizione che vogliamo mostrare sulla mappa
var marker = new google.maps.Marker({ position: latlng, map: map, title:"roma!" });
Per poter eseguire lo script loadMap, lo si lega all’evento onload del body
<body onload="loadMap()">
La pagina ora è pronta per essere visualizzata. E’ sufficiente digitare nel browser:
http://localhost:8080/HelloWorldGoogleMapsApi-0.0.1-SNAPSHOT/VisualizzaMappa.jsp
è la schermata mostrata sara:
In realtà, prima di mostrare la pagina, verrà mostrato il seguente messaggio:
Questo avviene perchè dobbiamo richiedere una chiave, e abilitarla, per poter usare Google Maps API.
- Vai su Google Cloud Platform Console.
- Crea un nuovo progetto
- Clicca il menù e seleziona APIs & Services > Credentials.
- Sulla pagina di Credentials , clicca Create credentials > API key.
Apparirà il messaggio API key created dopo che avrai creato la nuova chiave - Clicca Close.
Una volta che la chiave è stata creata, dovrà essere attivata:
- Vai su questa pagina
- Clicca su API Manager
- Vai su OverView
- Seleziona Google Maps JavaScript API
- Ti apparirà il tasto “abilita”. Premilo
Ultimo passaggio: la chiave creata deve essere e infine messa nello script della nostra pagina, al posto della parola MY_KEY:
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=MY_KEY"></script>