Tim
If possible can you send me the webmap.prg and any includes if required.
colin@techdata.net.au
Regards
Colin
#include "FiveWin.ch"
static cStreet, cCity, cCountry
static cStreet2, cCity2
static cStreet3, cCity3
static cStreet4, cCity4
static cStreet5, cCity5
static cWhatsNear
static nZoomLevel
function Main()
local oDlg, oActiveX
local aWhatsNear
default cStreet := PadR( "BROADWAY 500", 80 ), ;
cCity := PadR( "NEW YORK CITY", 80 ), ;
cCountry := PadR( "USA", 80 ), ;
cStreet2 := space( 80 ), ;
cCity2 := space( 80 ), ;
cStreet3 := space( 80 ), ;
cCity3 := space( 80 ), ;
cStreet4 := space( 80 ), ;
cCity4 := space( 80 ), ;
cStreet5 := space( 80 ), ;
cCity5 := space( 80 )
cWhatsNear := ''
nZoomLevel := 0
aWhatsNear := { ;
'', ;
'Hotel', ;
'Gas', ;
'Food', ;
'Parks', ;
'Car Parts', ;
'Truck Parts', ;
'Railroads' ;
}
DEFINE DIALOG oDlg RESOURCE "map"
REDEFINE GET cStreet ID 200 OF oDlg
REDEFINE GET cCity ID 300 OF oDlg
REDEFINE GET cCountry ID 400 OF oDlg
REDEFINE COMBOBOX cWhatsNear ITEMS aWhatsNear ID 140 OF oDlg
REDEFINE GET cStreet2 ID 202 OF oDlg
REDEFINE GET cCity2 ID 302 OF oDlg
REDEFINE GET cStreet3 ID 203 OF oDlg
REDEFINE GET cCity3 ID 303 OF oDlg
REDEFINE GET cStreet4 ID 204 OF oDlg
REDEFINE GET cCity4 ID 304 OF oDlg
REDEFINE GET cStreet5 ID 205 OF oDlg
REDEFINE GET cCity5 ID 305 OF oDlg
REDEFINE GET nZoomLevel ID 141 OF oDlg
REDEFINE BUTTON ID 1 OF oDlg ACTION ShowInWin()
REDEFINE BUTTON ID 150 OF oDlg ACTION ShowFull()
ACTIVATE DIALOG oDlg CENTERED
return nil
function ShowFull()
local oWnd, oActiveX, oBar
local cEvents := ""
local oWebMap
oWebMap := WebMap():new()
oWebMap:AddStopSep( cStreet, cCity,,, cCountry )
// you can format address yourself or just
// type address string like in google maps
// using :AddStop() instead of :AddStopSep()
//
// oWebMap:AddStop( alltrim( cStreet )+','+;
// alltrim( cCity )+' '+alltrim( cCountry ) )
// or
// oWebMap:AddStop( 'My Address Info' )
oWebMap:AddStopSep( cStreet2, cCity2 )
oWebMap:AddStopSep( cStreet3, cCity3 )
oWebMap:AddStopSep( cStreet4, cCity4 )
oWebMap:AddStopSep( cStreet5, cCity5 )
oWebMap:cWhatsNear := cWhatsNear
oWebMap:nZoomLevel := nZoomLevel
oWebMap:GenLink()
if .not. empty( oWebMap:cLink )
//oWebMap:cLink, ShellExecute( 0, "open", oWebMap:cLink,,,5 )
//tracelog( oWebMap:cLink, ShellExecute( nil, "open", oWebMap:cLink,0,0,1 ) )
// You can also use this for more control
oActiveX := TOleAuto():New("InternetExplorer.Application")
oActiveX:Visible := .T.
oActiveX:Toolbar := .T.
oActiveX:Statusbar :=.T.
oActiveX:MenuBar := .T.
oActiveX:Navigate( oWebMap:cLink )
*/
sysrefresh()
endif
return nil
function ShowInWin()
local oWnd, oActiveX, oBar
local cEvents := ""
local oWebMap
local cHtml, cHtmlFile
oWebMap := WebMap():new()
oWebMap:AddStopSep( cStreet, cCity,,, cCountry )
oWebMap:AddStopSep( cStreet2, cCity2 )
oWebMap:AddStopSep( cStreet3, cCity3 )
oWebMap:AddStopSep( cStreet4, cCity4 )
oWebMap:AddStopSep( cStreet5, cCity5 )
oWebMap:cWhatsNear := cWhatsNear
oWebMap:nZoomLevel := nZoomLevel
oWebMap:GenLink()
if .not. empty( oWebMap:cLink )
DEFINE WINDOW oWnd TITLE "Google Map Demo" ;
FROM 0, 0 TO 600, 800 pixel
oActiveX = TActiveX():New( oWnd, "Shell.Explorer" )
// oActiveX = TOleAuto():New("InternetExplorer.Application")
oWnd:oClient = oActiveX // To fill the entire window surface
// these setprop options do not work?
oActiveX:SetProp( "Visible", .T. )
oActiveX:SetProp( "Toolbar", .T. )
oActiveX:SetProp( "Statusbar", .T. )
oActiveX:SetProp( "MenuBar", .F. )
// Test iframe
// Added this test 1/28/2014 to see if it could show just map.
cHtmlFile := 'c:\temp\temp.html'
cHtml := [<html>]+CRLF
cHtml += [<head>]+CRLF
cHtml += [<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">]+CRLF
cHtml += [<title>Google Map Demo</title>]+CRLF
cHtml += [</head>]+CRLF
cHtml += [<body>]+CRLF
cHtml += [<p>]+CRLF
cHtml += [<iframe width="700" height="500" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="]+oWebMap:cLink+[&output=embed"></iframe><br /><small><a href="]+;
oWebMap:cLink+[&source=embed" style="color:#0000FF;text-align:left">View Larger Map</a></small>]+CRLF
cHtml += [</p>]+CRLF
cHtml += [</body>]+CRLF
cHtml += [</html>]+CRLF
memowrit( cHtmlFile, cHtml )
oActiveX:Do( "Navigate", 'c:\temp\temp.html' )
//oActiveX:Do( "Navigate", oWebMap:cLink )
sysrefresh()
// MsgInfo( oActiveX:GetProp( "StatusBar" ) )
ACTIVATE WINDOW oWnd
sysrefresh()
endif
return nil
function EventInfo( event, aParams, pParams, oActiveX )
local cMsg := "Event: " + cValToChar( event ) + CRLF
local n
cMsg += "Params: " + CRLF
for n = 1 to Len( aParams )
cMsg += cValToChar( aParams[ n ] ) + CRLF
next
if event == "BeforeNavigate2"
//MsgInfo( aParams[ 2 ] )
//SetEventParam( pParams, 7, .t. ) // Comment this to allow navigation
endif
return cMsg + CRLF
Return to FiveWin for Harbour/xHarbour
Users browsing this forum: Google [Bot] and 46 guests