Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fabinhosantos

consulta ao BD e mapa do google

Recommended Posts

Pessoal

 

Alguem tem algum script de exemplo onde é feita uma consulta ao banco de dados para recuperar endereço e CEP e com esses gerar um mapa do google...

 

ou seja, para cada cliente vai ter um link com MAPA e dai seria gerado o mapa a partir do endereço cadastrado no meu BD.

 

já vi um exemplo com ajax e PHP mais muito complicado de adaptar...

 

se alguem puder me ajudar....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Script pronto eu não tenho, porém de uma pesquisada aqui no fórum que você ira encontrando referencias para ir montando o que quer.

 

Exemplo:

 

Busca Cep com Ajax - http://forum.imasters.com.br/index.php?/topic/174644-busca-cep-com-ajax/

Google Maps - http://forum.imasters.com.br/index.php?/topic/350706-resolvido-material-google-maps-com-mysql-e-asp/page__hl__google%20maps__fromsearch__1

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma olhada ae, vê se ajuda...

<%
'##################################################
'###### Google Map VBScript Class
'###### Termos sobre Google Map http://code.google.com/intl/nl-BE/apis/maps/terms.html
'##################################################
####################
'###### 
'###### Com esta classe você pode mostrar VBSript localizações em um Google Map
'você pode definir largura, altura, title-tag, zoomlevel para o GoogleMap 
'######-Definir o padrão maptype - Mais comum: "G_NORMAL_MAP", "G_SATELLITE_MAP", "G_HYBRID_MAP" 
'######-adicionar multiplos endereços a um mapa 
'######-Usa um ícone personalizado para cada marcador 
'######-Use JavaScript / HTML para mostrar quando você clica em um marcador 
'######-Definir errorMessages em caso de algo sair errado 
'######-Confira as duas classes cls_googleMap e cls_address 
'##################################################

class cls_googleMap

	public key, width, height, sTitle, addresses, zoomlevel, divID, errorMessage, noAddressSet, useDelay, maptype
	public enableGoogleBar,GLargeMapControl,GMapTypeControl,enableScrollWheelZoom,GOverview
MapControl

		Private Sub Class_Initialize
		
			sTitle=""
			zoomlevel=10
			width=350
			height=350
			divID="map_canvas"
			useDelay=0 
'número de ms demora p/ cada endereço de pesquisa - 200 ms é muito útil no caso de você ter muitos endereços (> 100)
			maptype="G_NORMAL_MAP" 'Most common: "G_NORMAL_MAP", "G_SATELLITE_MAP", "G_HYBRID_MAP"
			enableGoogleBar=false 
'mostrar a caixa de pesquisa esquerda (verdadeiro ou falso)			GLargeMapControl=true 'Mapa Controle (verdadeiro ou falso)
			GMapTypeControl=false ' mostrar os 3 maptypes (verdadeiro ou falso)
			enableScrollWheelZoom=true
			GOverviewMapControl=false ' mostrar a janela Zoom inferior direito
			
			set addresses=server.CreateObject ("scripting.dictionary")
			
		End Sub


		Private Sub Class_Terminate
		
			set addresses=nothing
			
		End Sub
		
		
		Public function addAddress(addressObject)
		
			if trim(addressObject.searchString)<>"" then 
' não aborda vazio 
				
				if not addresses.Exists (addressObject.searchString) then 
					addresses.Add addressObject.searchString,addressObject 'add the address to the addresses collection					
				end if
				
			end if
			
		end function
		
		
'a função showMap, gera html
		public Function showMap		
		
			showMap=showMap &"<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Strict//EN""" & vbcrlf & """http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"">" & vbcrlf
			showMap=showMap &"<html xmlns=""http://www.w3.org/1999/xhtml"" xmlns:v=""urn:schemas-microsoft-com:vml"">"& vbcrlf
			showMap=showMap &"<head>"& vbcrlf
			showMap=showMap &"<meta http-equiv=""content-type"" content=""text/html; charset=UTF-8"" />"& vbcrlf
			showMap=showMap &"<title>" & sTitle & "</title>"& vbcrlf
			showMap=showMap &"<script src=""http://maps.google.com/maps?file=api&v=2.x&key=" & key & """ type=""text/javascript""></script>"& vbcrlf
			showMap=showMap &"</head>"& vbcrlf
			showMap=showMap &"<body onload=""initialize()"" onunload=""GUnload()"">"& vbcrlf
			showMap=showMap &"<script type=""text/javascript"">"& vbcrlf
			showMap=showMap &"var map = null;"& vbcrlf
			showMap=showMap &"var geocoder = null;"& vbcrlf
			showMap=showMap &"geocoder = new GClientGeocoder();"& vbcrlf
			showMap=showMap &"function initialize() {"& vbcrlf			
			showMap=showMap &"if (GBrowserIsCompatible()) {"& vbcrlf
			showMap=showMap &"map = new GMap2(document.getElementById(""map_canvas""),{size:new GSize(" & width & "," & height & ")});"& vbcrlf
			
			if enableGoogleBar then
				showMap=showMap &"map.enableGoogleBar();"& vbcrlf
			end if
			
			if enableScrollWheelZoom then
				showMap=showMap &"map.enableScrollWheelZoom();"& vbcrlf
			end if
			
			if GLargeMapControl then			
				showMap=showMap &"map.addControl(new GLargeMapControl());"& vbcrlf
			end if
			
			if GMapTypeControl then
				showMap=showMap &"map.addControl(new GMapTypeControl());"& vbcrlf
			end if
			
			if GOverviewMapControl then
				showMap=showMap &"var mini = new GOverviewMapControl(new GSize(100,100));" & vbcrlf
				showMap=showMap &"map.addControl(new GMapTypeControl());" & vbcrlf
				showMap=showMap &"map.addControl(mini);" & vbcrlf
			end if
			
			showMap=showMap &showAddress& vbcrlf
			showMap=showMap &createMarker& vbcrlf
			showMap=showMap &getJSArray& vbcrlf
			showMap=showMap &"}" & vbcrlf
			showMap=showMap &"}" & vbcrlf
			showMap=showMap &"function isEmpty(inputStr){return !(inputStr&&inputStr.length)}"& vbcrlf
			showMap=showMap &"</script>"& vbcrlf
			
			showMap=showMap &"<div id=""" & divID & """ style=""width: " & width & "px; height: " & height & "px""></div>"& vbcrlf
			showMap=showMap &"</body>"& vbcrlf
			showMap=showMap &"</html>"		& vbcrlf
		
		end function
		
				
		private function getJSArray
		
			if addresses.Count=0 then
			
				if noAddressSet<>"" then getJSArray="alert('" & quotrepJS(noAddressSet) & "');" & vbcrlf
			
			else
		
				getJSArray="var AddressesArray = new Array (" & addresses.Count  & ");"& vbcrlf
										
				'loop
			
				dim address,counter
				counter=0
				for each address in addresses
					getJSArray=getJSArray & "AddressesArray [" & counter & "] = new Array(6);"
					getJSArray=getJSArray & "AddressesArray [" & counter & "] [0]='"& quotRepJS(addresses(address).searchstring) &"';" & vbcrlf
					
					if addresses(address).html<>"" then
						if isNumeric(addresses(address).infoWindowWidth) then
							getJSArray=getJSArray & "AddressesArray [" & counter & "] [1]='<div style=""padding:3;width:" & addresses(address).infoWindowWidth & "px"">"& quotRepJS(addresses(address).html) & "</div>';" & vbcrlf
						else
							getJSArray=getJSArray & "AddressesArray [" & counter & "] [1]='"& quotRepJS(addresses(address).html) & "';" & vbcrlf
						end if
					else
						getJSArray=getJSArray & "AddressesArray [" & counter & "] [1]='';" & vbcrlf
					end if
					
					getJSArray=getJSArray & "AddressesArray [" & counter & "] [2]='"& quotRepJS(addresses(address).iconURL) & "';" & vbcrlf	
					getJSArray=getJSArray & "AddressesArray [" & counter & "] [3]='"& cBOOLcustom(addresses(address).openInfoWindowHtml) & "';" & vbcrlf	
					getJSArray=getJSArray & "AddressesArray [" & counter & "] [4]='"& quotRepJS(addresses(address).latitude) & "';" & vbcrlf
					getJSArray=getJSArray & "AddressesArray [" & counter & "] [5]='"& quotRepJS(addresses(address).longitude) & "';" & vbcrlf													
					counter=counter+1	
				next
				
				'Loop através de endereços em JavaScript, e chamar a função JS showAddress
				getJSArray=getJSArray & "for (i=0;i<AddressesArray.length;i++){"& vbcrlf
				getJSArray=getJSArray & "showAddress(AddressesArray[i][0],AddressesArray[i][1],AddressesArray[i][2],AddressesArray[i][3],AddressesArray[i][4],AddressesArray[i][5]);"& vbcrlf
				getJSArray=getJSArray & "};" & vbcrlf
			
			end if
		
		end function
		
		
		private function createMarker()
		
			 createMarker="function createMarker(latlng,html,iconUrl,openHTML) {" & vbcrlf
			 createMarker=createMarker&"if(!isEmpty(iconUrl)){" & vbcrlf
			 createMarker=createMarker&"var myIcon = new GIcon(G_DEFAULT_ICON);" & vbcrlf
			 createMarker=createMarker&"myIcon.image = iconUrl;" & vbcrlf	
			 createMarker=createMarker&"myIcon.iconSize = new GSize(32, 32);"& vbcrlf
			 createMarker=createMarker&"var marker = new GMarker(latlng,{icon:myIcon});" & vbcrlf
			 createMarker=createMarker&"}else{var marker = new GMarker(latlng);}" & vbcrlf
			 createMarker=createMarker&"if(!isEmpty(html)){" & vbcrlf
			 createMarker=createMarker&"marker.value = html;"& vbcrlf
			 createMarker=createMarker&"GEvent.addListener(marker,""click"", function() {"& vbcrlf
			 createMarker=createMarker&"map.openInfoWindowHtml(latlng, marker.value);"& vbcrlf
			 createMarker=createMarker&"});}"& vbcrlf
			 createMarker=createMarker&"return marker;}"& vbcrlf
			 
		end function
		
		private function fixedSA
		
			fixedSA=""
		
			if useDelay>0 then	
				fixedSA=fixedSA & "var date = new Date();"& vbcrlf
				fixedSA=fixedSA & "var curDate = null;"& vbcrlf
				fixedSA=fixedSA & "do {curDate = new Date();}"& vbcrlf
				fixedSA=fixedSA & "while(curDate-date < " & useDelay & ");"& vbcrlf
			end if
		
			fixedSA=fixedSA & "map.setCenter(point," & zoomlevel &"," & maptype & ");"& vbcrlf
			fixedSA=fixedSA & "var marker=createMarker(point,html,iconUrl,openHTML);"& vbcrlf
			fixedSA=fixedSA & "map.addOverlay(marker);"& vbcrlf
			fixedSA=fixedSA & "if (openHTML=='True'){marker.openInfoWindowHtml(html)};" & vbcrlf
		
		
		end function
		
		
		private function showAddress
		
			showAddress="function showAddress(searchstring,html,iconUrl,openHTML,lat,lon) {" & vbcrlf	
			'showAddress=showAddress & "return true;" & vbcrlf				
			showAddress=showAddress & "if(!isEmpty(lat)&&!isEmpty(lon)){var point=new GLatLng(lat,lon);"& vbcrlf	
			showAddress=showAddress & fixedSA						
			showAddress=showAddress & "return true;};" & vbcrlf			
			showAddress=showAddress & "if (geocoder) {"& vbcrlf
			showAddress=showAddress & "geocoder.getLatLng(searchstring,function(point) {" & vbcrlf
			showAddress=showAddress & "if (!point) {"& vbcrlf
			
			if errorMessage<>"" then showAddress=showAddress & "alert('" & quotRepJS(errorMessage) & "')"& vbcrlf
			
			showAddress=showAddress & "} else {"& vbcrlf					
			showAddress=showAddress & fixedSA   
			showAddress=showAddress & "}});}}" & vbcrlf
								
		end function
		
		
		private function quotRepJS(sValue)
		
			quotRepJS=replace(sValue,"\","\\",1,-1,1)
			quotRepJS=replace(quotRepJS,"'","\'",1,-1,1)
			quotRepJS=replace(quotRepJS,vbcrlf," ",1,-1,1)						

		end function
		
		private function cBOOLcustom(value)
		
			if isNull(value) then
				cBOOLcustom="False"
			elseif value=False then
				cBOOLcustom="False"
			else
				cBOOLcustom="True"
			end if
		
		end function
		
		
		'esta função recupera as coordenadas de uma localização
		public function getCoordinates	(q,byref lat,byref lon)
		
			getCoordinates=false
			
			if isNull(q) then q=""
	
			if trim(q)<>"" then
			
				on error resume next 
				
				'get the codes from gooogle
				dim oXMLHTTP
				Set oXMLHTTP = server.createobject("MSXML2.XMLHTTP.6.0")
				oXMLHTTP.open "GET", "http://maps.google.com/maps/geo?q="& server.URLEncode(q) & "&output=CSV&key=" & key
				oXMLHTTP.send
				
				dim arrLL
				arrLL=split(oXMLHTTP.responseText,",")
				lat=arrLL(2)
				lon=arrLL(3)					
				
				set oXMLHTTP=nothing
				
				if clng(lat)<>0 and clng(lon)<>0 then getCoordinates=true
				
				on error goto 0
			
			end if
	
		end function
		
end class

class cls_address

 

public street,zip,city,state,countrycode,country,html,iconURL,openInfoWindowHtml,Latitu
de,Longitude,infoWindowWidth
	
	Private Sub Class_Initialize
		openInfoWindowHtml=false
		infoWindowWidth=270
		Latitude=""
		Longitude=""
	end sub
	
	public property get searchString
	
		if isNull(street) then street=""
		if isNull(zip) then zip=""
		if isNull(city) then city=""
		if isNull(state) then state=""
		if isNull(countrycode) then countrycode=""
		if isNull(country) then country=""
		if isNull(html) then html=""
		if isNull(iconURL) then iconURL=""
		if isNull(Latitude) then Latitude=""
		if isNull(Longitude) then Latitude=""
		if cstr(Latitude)="0" then Latitude=""
		if cstr(Longitude)="0" then Longitude=""		
		
'Quando Latitude e Longitude são definidas, elas serão usadas, e não o endereço regulares elementos ...

		if trim(Latitude & Longitude)="" then
			searchString=trim(trim(street) & " " & trim(zip) & " " & trim(city) & " " & trim(state) & " " & trim(countrycode) & " " & trim(country))
		else
			searchString=Longitude&Latitude
		end if
		
	end property
	
end class

%>

para ajustar o mapa basta mudar as configuracoes no googlemaps.asp

 

 

sTitle=""'Titulo
zoomlevel=10'Zoom Level
width=350'Largura
height=350'Altura
divID="map_canvas"
useDelay=0 '
maptype="G_NORMAL_MAP" '"G_NORMAL_MAP" Mapa Normal, "G_SATELLITE_MAP"Mapa Satelite , "G_HYBRID_MAP"Mapa Hibrido
enableGoogleBar=false 'exibe a Google Search Box na base esquerda (true or false)
GLargeMapControl=true 'Exibe o controlador do mapa (true or false)
GMapTypeControl=false 'Exibe as 3 opcoes de mapa (true or false)
enableScrollWheelZoom=true'Zoom Disponivel
GOverviewMapControl=false 'Exibe a tela de zoom na base direita
[/code]

 

 

index.asp

 

 

<!-- #include file="googlemap.asp"-->
<!--#include file="settings.asp" -->
<%
id = request("id")
Set paises = connect.execute("SELECT * FROM cidades WHERE  id="& id &"")
pais = paises("pais")
dim googlemap
set googlemap=new cls_googleMap 'instantiate the GoogleMap class
dim address
set address=new cls_address
address.city=paises("cidade")'Pega a Cidade 
address.country=paises("pais")'Pega o pais
'address.street="Rua Evandro Batista,195"'Endereco(OPCIONAL)
address.iconURL="http://www.quickersite.com/userfiles/green-dot.png"'Icone PNG
address.html="This is the highest point in the region where I live.<br />Some HTML, like a <a href=""#"" onclick=""java script:alert('or some javascript...');"">link</a>"'Conteudo da Msg pro marcador
googlemap.addAddress (address)
Response.Write googlemap.showMap ()
%>

 

settings.asp

 

 

<% response.buffer=true%>
<% Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("maps.mdb")&";"
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.