PDA

Visualizza la versione completa : Google maps su pagina web


Alex90
26-04-2008, 11:54
Ciao, devo inserire google maps su una pagina web del mio sito, è vorrei fare in modo che ogni volta che ho un'indirizzo me lo punti l'ha.
Ho seguito questa guida http://www.guidalsoftware.com/guide/Google%20maps.asp .. ma però qui dovrei inserire manualmente la longitudine e la latitudine, ma io vorrei inserire solo l'indirizzo come posso fare??

:ciauz: :ciauz:

Alex90
26-04-2008, 14:16
Ragazzi, ho trovato questo codice http://www.napolux.com/2006/09/10/usare-google-maps-seconda-parte/ però come faccio a far in modo che invece di inserire l'indirizzo nel form mi posiziona direttamente sulla via da me interessata??

:ciauz: :ciauz:

primatex
26-04-2008, 15:06
io ho risolto inserendo gli indirizzi e le coordinate su di un db.

mosquito70
04-08-2008, 12:11
Ciao a tutti,
riprendo questo 3D, che ho trovato cercando informazioni su come gestire le Google Maps.

Quello che dovrei fare sono i seguenti passaggi...

1) Da una form asp (ma in questo caso poco importa, credo...), l'utente scrive un indirizzo completo di via, numero civico, città (solo italiane), associato ad una persona/comune/etc...
2) In Javascript, controllo se esiste tale indirizzo su Google Maps e se esiste, apro una popup mostrando la mappa di google (come verifica del corretto inserimento).
3) Contemporaneamente, archivio il riferimento web di google Maps, nella base dati.
4) Effettuo la stampa dell'elenco dell'entità inserita, che hanno il riferimento google e, cliccando sul link web del punto 3, si apre di nuovo una popup relativa a Google Maps.

Sto studiando quello che ho trovato sul link inserito nel 2^ post, ma ho qualche problema ha capire come ricavare il link web dell'indirizzo dell'entità e (sopratutto) come recuperare quello relativo al massimo grado di dettaglio disponibile, su google maps, per l'indirizzo stesso.

Spero di essere stato chiaro.
Qualsiasi suggerimento e ben accetto.

Grazie
Ciao

ivenuti
04-08-2008, 12:54
scusami ma non ho ben capito cosa intendi per "ricavare il link web dell'indirizzo dell'entità".
Io farei così: ricavo le coordinate e da esse, via ASP, apro una mappa personalizzata con un marcatore (o quant'altro) centrata sulle coordinate trovate.

Qui per decodificare un indirizzo e ottenere i punti: http://www.comefarea.it/internet/google/googlemaps/parte9.php

Ottenuti i punti ecco come mostrare la mappa: http://www.comefarea.it/internet/google/googlemaps/parte2.php

mosquito70
04-08-2008, 12:59
Originariamente inviato da ivenuti
scusami ma non ho ben capito cosa intendi per "ricavare il link web dell'indirizzo dell'entità".
Io farei così: ricavo le coordinate e da esse, via ASP, apro una mappa personalizzata con un marcatore (o quant'altro) centrata sulle coordinate trovate.

Qui per decodificare un indirizzo e ottenere i punti: http://www.comefarea.it/internet/google/googlemaps/parte9.php

Ottenuti i punti ecco come mostrare la mappa: http://www.comefarea.it/internet/google/googlemaps/parte2.php

Purtroppo finora ho utilizzato Google Maps, come semplice "utente" e quindi sono solo all'inizio nello sviluppo di applicazioni, che lo utilizzano.
Per ricavare il link web dell'indirizzo dell'entità, intendo che l'utente clicca sul link presente nell'indirizzo della persona/comune/etcc... e si apre una popup con la mappa/pagina di Google Maps.

Comunque, i link che mi hai postato, sono utilissimi e (credo) rappresentino proprio quello che cerco.

Grazie mille per i suggerimenti.
Ciao

ivenuti
04-08-2008, 13:07
ok, chiaro!

Di solito si preferisce fare così: si usa il servizio di generazione delle mappe ma lo si include dentro le proprie pagine.

In questo modo hai un controllo sia per quanto concerne la visualizzazione del layout (ampiezza della mappa, html a contorno...) sia per quanto riguarda le informazioni mostrate sulla mappa stessa (di solito informazioni mostrate sul punto, o sui punti, di interesse: icone personalizzate, messaggi di testo come fumetto e così via).

mosquito70
13-08-2008, 11:32
Ritorno su questa discussione, perchè sono finalmente riuscito a capire qualcosa in più delle mappe di Google.

In particolare nel banale codice che vi scrivo sotto, riesco a ricavare le coordinate di un indirizzo, passarle alla form (asp) e quindi caricarle su un db.
Quello che non riesco a risolvere, è come fare per creare un link sulla stessa form, che apra una popup con la mappa appena cercata.

E' sufficiente richiamare la funzione load(), passando le coordinate appena create?

Questo il codice


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAM3pgD1EQ3-M9AM-_t4cQJRSgSqUC80gTFR_HRxPg4VxBXY1SvRSX2nrzMpJTeYcip tgS_qpQbO-TZg"
type="text/javascript">
</script>
<script type="text/javascript">
function load(point)
{
if (GBrowserIsCompatible(point))
{
var map = new GMap2(document.getElementById("map"));

alert(point)

map.setCenter(new GLatLng(point), 13);

// Per attivare i controlli sulla mappa Mappa/Satellite/Ibrida
map.addControl(new GMapTypeControl());

// Per attivare i controlli sulla mappa (spostamento a dx/sx/su/giu/zoom
map.addControl(new GLargeMapControl());

// Popup al centro della mappa con la scritta ROMA
map.openInfoWindow(map.getCenter(), document.createTextNode("Roma!"));
}

}


// Crea il marker con la label passata come parametro
function createMarker(point, label)
{
// Variabile marker
var marker = new GMarker(point);

// Crea listener per il click sull'oggetto
GEvent.addListener(marker, "click", function()
{
marker.openInfoWindowHtml(label);
});

return marker;
}

// Traduce indirizzo inserito in coordinate tramite GeoCoder, altrimenti cerca nel database
function showAddress(address)
{
var geocoder = new GClientGeocoder( );

geocoder.getLatLng(address,
function(point)
{
if (!point)
{
// Indirizzo non trovato, cerca nel database.
alert(address + " non trovato!");
}
else
{
// Indirizzo trovato, centra la mappa ;)
alert(address + " trovato!");

//alert(point);

self.location.replace(self.location.href+((self.lo cation.search)?'&':'?')+'coorindimappgoog='+point)

}
});
}
</script>
<%
...
...
...
strricecoorindimappgoog = Request.QueryString("coorindimappgoog")

%>
<form name="datiform" method="post" action="#" >
<div id="modulo">
Indirizzo:

<input name="INDI_MAPP_GOOG" class="campinull" value="<%=vc_numeciggtemp%>" size="14" onchange="javascript:showAddress(this.value)">
<input name="COOR_INDI_MAPP_GOOG" class="campinull" value="<%=strricecoorindimappgoog%>" size="14"">

link (#)



Ho provato in questo modo, immettendo direttamente le coordinate, ma non mi funziona.

Qualsiasi suggerimento è ben accetto
Grazie

mosquito70
13-08-2008, 14:57
Ho risolto facendo così.



....
strricecoorindimappgoog = Request.QueryString("coorindimappgoog")

response.write "AAAA -->"&strricecoorindimappgoog&"
"

%>

<form name="datiform" method="post" action="#" >
<div id="modulo">
Indirizzo:

<input name="INDI_MAPP_GOOG" class="campinull" value="<%=vc_numeciggtemp%>" size="14" onchange="javascript:showAddress(this.value)">

images/Icons/Modify.gif<font class="testolink"><u>Visualizza mappa</u> (javascript:LOV('visuindimappgoog.asp?vc_coorlati= 37.4419&vc_coorlong=-122.1419))

</div>
</form>


Chiaramente vc_coorlati e vc_coorlong, sono fittizzie e valida solo come prova, in quanto in asp non riesco ancora ad estrarre/separare le due variabili.

Poi nella popup ho scritto questo codice (la parte principale)



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=XXXX"
type="text/javascript">
</script>
<script type="text/javascript">
function load(lati,long)
{
alert(lati);
alert(long);

if (GBrowserIsCompatible())
{
var map = new GMap2(document.getElementById("map"));

// 13 è il livello di Zoom
map.setCenter(new GLatLng(lati,long), 13);

// Per attivare i controlli sulla mappa Mappa/Satellite/Ibrida
map.addControl(new GMapTypeControl());

// Per attivare i controlli sulla mappa (spostamento a dx/sx/su/giu/zoom
map.addControl(new GLargeMapControl());

// Popup al centro della mappa con la scritta ROMA
// map.openInfoWindow(map.getCenter(), document.createTextNode("desdenoente"));
}
}
</script>

</head>

<%
vc_user = session("vc_userprop")

Dim strURL
Dim con
Dim rs
Dim strDBPath
Dim sql

vc_userconn =session("vc_userprop")

if vc_userconn ="" then
response.redirect "timeoutt.asp"
end if

strricecoorlati = Request.QueryString("vc_coorlati")
strricecoorlong = Request.QueryString("vc_coorlong")
%>

<body onload="load(<%=strricecoorlati%>,<%=strricecoorlong%>)" onunload="GUnload()" bgcolor="#f0f0f0">
<div id="map" style="width: 500px; height: 300px"></div>
</body>

</html>


Ora l'unico problema è che non capisco perchè la load() non accetta un terzo parametro, che poi corrisponde alla "descrizione" che vorrei inserire nel popup dellla mappa di Google.

Ma su questo per ora potrei sorvolare...se qualcuno però avesse qualche idea, vi ringrazio in anticipo.


Ciao

Loading