Google Map

giovedì 13 marzo 2008 - 11.12

drigo83 Profilo | Senior Member

Ciao a tutti, avrei la necessità di inserire una Google Maps in una pagina Asp.Net ed aggiungere dei markers i cui riferimenti sono presi da una tabella SQL.

La mappa sono riuscito a metterla con uno script java, ma non so come tirare su i dati dal database.

Qualcuno può aiutarmi ?

Grazie

luigidibiasi Profilo | Guru

Ciao,
ti posto un'idea che forse potrebbe funzionare ....

potresti crearti un array javacript al volo mentre generi la pagina .net

ad esempio se stai leggendo tramite un dataReader fare una cosa del tipo

<%
' codice asp x collegarsi al db

_dr = cmd.executeReader("select * from tabella")

dim i as integer=0;

%>

<script language="javascript">

var myArray = new Array():

<% while _dr.read %>
myArray[<%=i%>]=<%=_dr("nomeCampoDati")%>;
<% end while %>

// codice di google per gestirsi le map

</script>

poi puoi usarti le api di google maps per leggerti le coordinate da dentro l'array


Luigi Di Biasi

drigo83 Profilo | Senior Member

Ho esattamente fatto così, ma mi da errore. Ho scoperte che è l'istruzione =_dr("nomeCampoDati") che genera l'errore, infatti commentandola non vengono generati errori.

luigidibiasi Profilo | Guru

io al posto di <%= ho scritto response.write e mi funziona, se ti fai mostare l'errore da err.description cosa ti esce fuori?
Luigi Di Biasi

drigo83 Profilo | Senior Member

Mi da errore anche con response.write. Sembra proprio che l'errore venga generato quando si va a leggere il dato dentro al database.

Mi da un errore di Internet Explore nel quale mi dice alla tale riga Previsto Oggetto

luigidibiasi Profilo | Guru

ciao,
se vuoi postarmi il codice in pvt cerco di vedere dove sta la differenza

Luigi Di Biasi

drigo83 Profilo | Senior Member

<%@ Page aspcompat=true language="VB" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="ProvaMappa.WebForm1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<HTML xmlns:v =
"urn:schemas-microsoft-com:vml">
<HEAD>
<title>Google Maps JavaScript API Example: Simple Map</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA"
type="text/javascript"></script>
<script type="text/javascript" language=vb>

function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(40.85, 15.50), 8);
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());

var Lat = '<% = application("Lat")%>'.split(",");
var Lng = '<% = application("Lng")%>'.split(",");

function createMarker(point,Nome) {
var marker = new GMarker(point);
var message = ["This","is","the","secret","message"];
marker.value = number;
GEvent.addListener(marker,"click",function(){
var myHtml = "<b>" + Nome + "</b><br>" + message[number - 1];
map.openInfoWindowHtml(point,myHtml);
});
return marker;
}

<%
dim myConnect = "Provider=SQLOLEDB; Data Source = 10.20.10.200\SQLEXPRESS; Initial Catalog= SMC; User Id=SMCDBAdmin; Password=SMCDBAdmin;"
dim ConnectObj = Server.CreateObject("ADODB.Connection")
dim RS = Server.CreateObject("ADODB.Recordset")
dim sql="SELECT NOME FROM SITI0000;"

ConnectObj.Open(myConnect)
RS.Open(sql,ConnectObj)

while (RS.EOF=false)

%>
map.addOverlay(createMarker(point, '<% = RS.fields("Nome").value%>'));
<%
RS.MoveNext()
end while
%>

}
}
</script>
</HEAD>
<body onload="initialize()" onunload="GUnload()">
<div id="map_canvas" style="WIDTH: 1000px; HEIGHT: 600px"></div>
</body>
</HTML>
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5