Google Maps

Gale FORd
Posts: 663
Joined: Mon Dec 05, 2005 11:22 pm
Location: Houston
Contact:

Post by Gale FORd »

I guess since everyone else is asking I will put my hat in the ring. The ability to display a map would be very helpfull in my application since it is related to a trucking company.

Thanks,

gale.ford@wwrowland.com
User avatar
Ugo
Posts: 283
Joined: Sat Oct 15, 2005 6:40 am
Location: Turin, Italy

Post by Ugo »

Rafael Clemente wrote:Detlef:
Where to shall I send it?
Rafael
Dear Rafael,
is possible :
- to redefine the target map window (with insert other controls)?
- insert this control in a dialog?
Ciao, best regards,
Ugo
User avatar
Euclides
Posts: 144
Joined: Wed Mar 28, 2007 1:19 pm

Post by Euclides »

Hi Rafael,
Please you send me also a copy of the DLL.
euclidao@itelefonica.com.br
TIA
Euclides
User avatar
Detlef Hoefner
Posts: 312
Joined: Sat Oct 08, 2005 9:12 am
Location: Germany
Contact:

Post by Detlef Hoefner »

Sorry Rafael :oops:,

here my address
hoefner@odn.de

Many Thanks,
Detlef
User avatar
shrkod
Posts: 5
Joined: Mon Dec 03, 2007 9:33 pm

Post by shrkod »

Same Google Maps functionality without need for DLL

#include "FiveWin.ch"

function Main()

local oWnd, oActiveX

DEFINE WINDOW oWnd TITLE "Google Maps"

oActiveX = TActiveX():New( oWnd, "Shell.Explorer" )
oWnd:oClient = oActiveX
oActiveX:Do( "Navigate2", CurDrive() + ":\" + CurDir() + "\gmap.html" )

ACTIVATE WINDOW oWnd

return nil

And gmap.html, replace the address into it using StrTran()

Code: Select all

<!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=UTF-8"/> 
    <title> </title>             
    <script src="http://maps.google.com/maps?file=api&v=2.x&key=ABQIAAAAtOjLpIVcO8im8KJFR8pcMhQjskl1-YgiA_BGX2yRrf7htVrbmBTWZt39_v1rJ4xxwZZCEomegYBo1w" type="text/javascript"></script> 
    <script type="text/javascript">                                      
    var map = null;                                                      
    var geocoder = null;                                                 
    var coords = null;                                                   

    function initialize() {                                              
      if (GBrowserIsCompatible()) {                                      
        map = new GMap2(document.getElementById("map_canvas"));          
        map.addControl(new GLargeMapControl());                          
        map.addControl(new GMapTypeControl());                           
        geocoder = new GClientGeocoder();                                
      }                                                                  
    }                                                                    

    function showAddress(address, cAddressName) {                        
      if (geocoder) {                                                    
        geocoder.getLatLng(                                              
          address,                                                       
          function(point) {                                              
            if (!point) {                                                
              showAddress2('NEW YORK CITY');               
            } else {                                                     
              map.setCenter(point, 15);                                  
              var marker = new GMarker(point);                           
              map.addOverlay(marker);                                    
              coords = marker.getPoint();                                
              var curl = cAddressName + "<p>" + coords.toUrlValue(6) + "</p>" 
              var button = '<input type="button" value="Imprimir" onClick="window.print()"/>;'
              curl = curl + button 
            }                                                            
          }                                                              
        );                                                               
      }                                                                  
    }                                                                    
    function showAddress2(address) {       
      if (geocoder) {                                                    
        geocoder.getLatLng(                                              
          address,                                                       
          function(point) {                                              
            if (!point) {                                                
              alert(address + " no encontrado");                         
            } else {                                                     
              map.setCenter(point, 15);                                  
              var marker = new GMarker(point);                           
              map.addOverlay(marker);                                    
              marker.openInfoWindowHtml(address);                        
            }                                                            
          }                                                              
        );                                                               
      }                                                                  
    }                                                                    
    </script>                                                            
  </head>                                                                

  <body onload="initialize(); showAddress('BROADWAY 500, NEW YORK CITY  USA', 'BROADWAY 500, NEW YORK CITY  USA');" onunload="GUnload()"
        <div id="map_canvas" style="width: 597px; height: 376px"></div> 
  </body>                                                                
</html>                                                                  
norberto
Posts: 566
Joined: Thu Aug 30, 2007 3:40 pm
Location: BR

Post by norberto »

me too...

norberto@windowslive.com

thanks
User avatar
shrkod
Posts: 5
Joined: Mon Dec 03, 2007 9:33 pm

Post by shrkod »

http://rapidshare.com/files/76601815/gmapd.zip.html
#include "FiveWin.ch"

function Main()

local oDlg, oActiveX
local cStreet := PadR( "BROADWAY 500", 80 )
local cCity := PadR( "NEW YORK CITY", 80 )
local cCountry := PadR( "USA", 80 )

DEFINE DIALOG oDlg RESOURCE "map"

REDEFINE ACTIVEX oActiveX ID 100 OF oDlg PROGID "Shell.Explorer"

REDEFINE GET cStreet ID 200 OF oDlg

REDEFINE GET cCity ID 300 OF oDlg

REDEFINE GET cCountry ID 400 OF oDlg

REDEFINE BUTTON ID 1 OF oDlg ACTION Show( cStreet, cCity, cCountry, oActiveX )

ACTIVATE DIALOG oDlg CENTERED ;
ON INIT Show( cStreet, cCity, cCountry, oActiveX )

return nil

function Show( cStreet, cCity, cCountry, oActiveX )

local cHtml := MemoRead( "gmap.html" )

cHtml = StrTran( cHtml, "<<STREET>>", AllTrim( cStreet ) )
cHtml = StrTran( cHtml, "<<CITY>>", AllTrim( cCity ) )
cHtml = StrTran( cHtml, "<<COUNTRY>>", AllTrim( cCountry ) )

MemoWrit( "temp.html", cHtml )

oActiveX:Do( "Navigate2", CurDrive() + ":\" + CurDir() + "\temp.html" )

return nil
Image
User avatar
richard-service
Posts: 583
Joined: Tue Oct 16, 2007 8:57 am
Location: New Taipei City, Taiwan
Contact:

Post by richard-service »

shrkod wrote:http://rapidshare.com/files/76601815/gmapd.zip.html
#include "FiveWin.ch"

function Main()

local oDlg, oActiveX
local cStreet := PadR( "BROADWAY 500", 80 )
local cCity := PadR( "NEW YORK CITY", 80 )
local cCountry := PadR( "USA", 80 )

DEFINE DIALOG oDlg RESOURCE "map"

REDEFINE ACTIVEX oActiveX ID 100 OF oDlg PROGID "Shell.Explorer"

REDEFINE GET cStreet ID 200 OF oDlg

REDEFINE GET cCity ID 300 OF oDlg

REDEFINE GET cCountry ID 400 OF oDlg

REDEFINE BUTTON ID 1 OF oDlg ACTION Show( cStreet, cCity, cCountry, oActiveX )

ACTIVATE DIALOG oDlg CENTERED ;
ON INIT Show( cStreet, cCity, cCountry, oActiveX )

return nil

function Show( cStreet, cCity, cCountry, oActiveX )

local cHtml := MemoRead( "gmap.html" )

cHtml = StrTran( cHtml, "<<STREET>>", AllTrim( cStreet ) )
cHtml = StrTran( cHtml, "<<CITY>>", AllTrim( cCity ) )
cHtml = StrTran( cHtml, "<<COUNTRY>>", AllTrim( cCountry ) )

MemoWrit( "temp.html", cHtml )

oActiveX:Do( "Navigate2", CurDrive() + ":" + CurDir() + "\temp.html" )

return nil
Image
Hi Shrkod,

good job. Maybe we can try it again. Thanks for your solution.

Regards,

Richard
User avatar
Rafael Clemente
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Post by Rafael Clemente »

Very good job indeed, Shrkod! :D

It is funy, however, that your javascript code seems to be exactly the same as ours, down to the name of the functions and indentations...
I see that it replicates so well our functionality that you even included an alert in Spanish - the string "no encontrado" which in our case sliped by error and was later corrected.

It sure must be some odd coincidence...
User avatar
shrkod
Posts: 5
Joined: Mon Dec 03, 2007 9:33 pm

Post by shrkod »

rafael, it is your html. I right click on the webpage and save the html source code. everybody can do it :-)
User avatar
Rafael Clemente
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Post by Rafael Clemente »

Shrkod,
In these forums, when we post code of somebody else, a proper etiquette is at least to give credit to the author. Otherwise, people can asume that you are claiming authorship for it. And this, of course, is not your case, is it?
User avatar
shrkod
Posts: 5
Joined: Mon Dec 03, 2007 9:33 pm

Post by shrkod »

rafael it is your code. you have the credits. I solved the need for a big dll
Wanderson
Posts: 332
Joined: Thu Nov 17, 2005 9:11 pm

Post by Wanderson »

Hi Shrkod,

Thanks, great job. In my city exists many Streets 9, exist the possibility to add a parameter like a district or sector?

Wanderson.
Goiânia-Brazil
User avatar
shrkod
Posts: 5
Joined: Mon Dec 03, 2007 9:33 pm

Post by shrkod »

all credits go to rafael. I did nothing except remove the dll. ask rafael
User avatar
Rafael Clemente
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Post by Rafael Clemente »

Wanderson,

During the past days, I have sent a copy of the demo program to all the friends that requested it. All of them got a further mail explaing the reason for not posting it for public download.

Also, I informed them that after the code was publicly disclosed on this forum without me even being consulted, I had decided to freeze further development on it. Maybe somebody else will pick up where I left it

Best regards,

Rafael
Post Reply