WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Samples

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Bing Maps

 Keywords: Bing Map Dialog COMCONTROL Shell.Explorer Latitude Longitude

;Winbatch 2011B - Bing Maps sample script
; uses a generic display html script
; you set a latitude and longitude
;
;
;Stan Littlefield March 29, 2012
;////////////////////////////////////////////////////////////////////////////////////////////////////////
;Acccount Id :1040153
GoSub udfs
IntControl(73,1,0,0,0)
tempmap=DirScript():"tempmap.htm"

;enter your own or select from a lookup
lat = "41.0535"
long = "-73.5394"


CreateMap()
FilePut(tempmap,cHTM) ;wish this wasn't necessary
displaymap()
Exit

:WBERRORHANDLER
oHTTP=0
ErrorProcessing(1,1,0,0)
Exit


:udfs
#DefineSubRoutine displaymap()
MAPFormat=`WWWDLGED,6.2`

MAPCaption=`Bing Active Map`
MAPX=9999
MAPY=9999
MAPWidth=284
MAPHeight=169
MAPNumControls=003
MAPProcedure=`dlgproc`
MAPFont=`DEFAULT`
MAPTextColor=`DEFAULT`
MAPBackground=`DEFAULT,DEFAULT`
MAPConfig=0

MAP001=`001,153,206,012,PUSHBUTTON,"OK",DEFAULT,"Click Here To Exit",1,10,160,DEFAULT,DEFAULT,"255|128|0"`
MAP002=`001,003,208,150,COMCONTROL,"map",DEFAULT,"Shell.Explorer",DEFAULT,20,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
MAP003=`219,023,054,070,STATICTEXT,"Text",DEFAULT,"Enter some text here to describe the map or list statistics related to the map",DEFAULT,30,DEFAULT,"Microsoft Sans Serif|6656|70|34",DEFAULT,DEFAULT`

ButtonPushed=Dialog("MAP")

;wanted to use this to avoid having to write to file
;MAP002=`005,021,176,134,COMCONTROL,"map",DEFAULT,"MSHTML",DEFAULT,20,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
Return(1)
#EndSubRoutine

#DefineSubRoutine dlgproc(handle,msg,id,p4,p5)
IntControl(73,1,0,0,0)
Switch msg
   Case 0
      oIE=DialogObject(handle,"map",3)
      DialogProcOptions(handle,2,1)
      ;oIE.Writeln(cHTM) ;if using MSHTML
      oIE.Navigate(tempmap)
      Break
   Case 2
      ;oIE.Close() if using MSHTML
      oIE=0
      Return(9)
      Break
EndSwitch
Return(-2)

:WBERRORHANDLER
ErrorProcessing(1,1,0,0)
Return(9)

#EndSubRoutine


#DefineSubRoutine CreateMap()
cHTM=""
cHTM=cHTM:'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">':@CRLF
cHTM=cHTM:'<html>':@CRLF
cHTM=cHTM:'   <head>':@CRLF
cHTM=cHTM:'      <title></title>':@CRLF
cHTM=cHTM:'      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">':@CRLF
cHTM=cHTM:'      <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.3"></script>':@CRLF
cHTM=cHTM:'      <script type="text/javascript">':@CRLF
cHTM=cHTM:'         var map = null;':@CRLF
cHTM=cHTM:'         var LA = new VELatLong(':lat:',':long:');':@CRLF
cHTM=cHTM:'         var pinPoint = null;':@CRLF
cHTM=cHTM:'         var pinPixel = null;':@CRLF
cHTM=cHTM:'function GetMap()':@CRLF
cHTM=cHTM:'         {':@CRLF
cHTM=cHTM:`            map = new VEMap('myMap');`:@CRLF
cHTM=cHTM:'            map.LoadMap(LA, 14, VEMapStyle.Road, false, VEMapMode.Mode2D, true, 1);':@CRLF
cHTM=cHTM:'            AddPin();':@CRLF
cHTM=cHTM:'         }':@CRLF
cHTM=cHTM:'         function getInfo()':@CRLF
cHTM=cHTM:'         {':@CRLF
cHTM=cHTM:'            var info;':@CRLF
cHTM=cHTM:'            if (map.IsBirdseyeAvailable())':@CRLF
cHTM=cHTM:'            {':@CRLF
cHTM=cHTM:'                var be = map.GetBirdseyeScene();':@CRLF
cHTM=cHTM:'                info  = "ID: "          + be.GetID() + "\n";':@CRLF
cHTM=cHTM:'                info += "orientation: " + be.GetOrientation()+ "\n";':@CRLF
cHTM=cHTM:'                info += "height: "      + be.GetHeight() + "\n";':@CRLF
cHTM=cHTM:'                info += "width: "       + be.GetWidth() + "\n";':@CRLF
cHTM=cHTM:'                var pixel = be.LatLongToPixel(map.GetCenter(), map.GetZoomLevel());':@CRLF
cHTM=cHTM:'                info += "LatLongToPixel: " + pixel.x + ", " + pixel.y + "\n";':@CRLF
cHTM=cHTM:'                // Check to see if the current birdseye view contains the pushpin pixel point.':@CRLF
cHTM=cHTM:'                info += "contains pixel " + pinPixel.x + ", " + pinPixel.y + ": " +':@CRLF
cHTM=cHTM:'                        be.ContainsPixel(pinPixel.x, pinPixel.y, map.GetZoomLevel()) + "\n";':@CRLF
cHTM=cHTM:'               // Check to see if the current view contains the pushpin LatLong.':@CRLF
cHTM=cHTM:'                info += "contains latlong " + pinPoint + ": " + be.ContainsLatLong(pinPoint) + "\n";':@CRLF
cHTM=cHTM:'               // This method may return null, depending on the selected view and map style.':@CRLF
cHTM=cHTM:'                info += "latlong: " + map.PixelToLatLong(pixel);':@CRLF
cHTM=cHTM:'                alert(info);':@CRLF
cHTM=cHTM:'            }':@CRLF
cHTM=cHTM:'            else':@CRLF
cHTM=cHTM:'            {':@CRLF
cHTM=cHTM:'                var center = map.GetCenter();':@CRLF
cHTM=cHTM:'                info  = "Zoom level:\t" + map.GetZoomLevel() + "\n";':@CRLF
cHTM=cHTM:'                info += "Latitude:\t"   + center.Latitude    + "\n";':@CRLF
cHTM=cHTM:'                info += "Longitude:\t"  + center.Longitude;':@CRLF
cHTM=cHTM:'                alert(info);':@CRLF
cHTM=cHTM:'            }':@CRLF
cHTM=cHTM:'         }':@CRLF
cHTM=cHTM:'':@CRLF
cHTM=cHTM:'         function AddPin()':@CRLF
cHTM=cHTM:'         {':@CRLF
cHTM=cHTM:'            // Add a new pushpin to the center of the map.':@CRLF
cHTM=cHTM:'            pinPoint = map.GetCenter();':@CRLF
cHTM=cHTM:'            pinPixel = map.LatLongToPixel(pinPoint);':@CRLF
cHTM=cHTM:'            map.AddPushpin(pinPoint);':@CRLF
cHTM=cHTM:'         }':@CRLF
cHTM=cHTM:'      </script>':@CRLF
cHTM=cHTM:'   </head>':@CRLF
cHTM=cHTM:'   <body onload="GetMap();">':@CRLF
cHTM=cHTM:`      <div id='myMap' style="position:relative; width:400px; height:400px;"></div>`:@CRLF
cHTM=cHTM:'       <input id="btnGetInfo" type="button" value="Get Scene Information" name="getinfo" onclick="getInfo();">':@CRLF
cHTM=cHTM:'       <br/>':@CRLF
cHTM=cHTM:'        (zoom out 5 clicks to get latitude/longitude and zoom level)':@CRLF
cHTM=cHTM:'   </body>':@CRLF
cHTM=cHTM:'</html>':@CRLF
Return(1)
#EndSubRoutine


#DefineFunction isObject(obj)
Return(VarType(obj)>=1024)
#EndFunction

#DefineSubRoutine ErrorProcessing(deleteIni,showerr,logfile,Err_Array)
If VarType(Err_Array) ==256
   WbError = Err_Array[0]
   wberrorhandlerline = Err_Array[1]
   wberrorhandleroffset = Err_Array[2]
   wberrorhandlerassignment = Err_Array[3]
   wberrorhandlerfile = Err_Array[4]
   wberrortextstring = Err_Array[5]
   wberroradditionalinfo = Err_Array[6]
   wberrorinsegment = Err_Array[7]
Else
   WbError = LastError()
EndIf
WbTextcode = WbError
If WbError==1668||WbError==2669||WbError==3670
   WbError = ItemExtract(1,IntControl(34,-1,0,0,0),":")
   WbTextcode = -1
EndIf
WbErrorString = IntControl(34,WbTextcode,0,0,0)
WbErrorDateTime = TimeYmdHms()
If deleteIni
   WbErrorFile = StrCat(ShortCutDir( 'AppData', 0, 0 ),'\WinBatch\Settings\')
   If ! DirExist(WbErrorFile) Then WbErrorFile = DirWindows(0)
   WbErrorFile = StrCat(WbErrorFile,"WWWBATCH.INI")
   FileDelete(WbErrorFile)
   IniWritePvt(WbErrorDateTime,"CurrentScript",WbErrorHandlerFile      ,WbErrorFile)
   IniWritePvt(WbErrorDateTime,"ErrorValue"   ,WbError                 ,WbErrorFile)
   IniWritePvt(WbErrorDateTime,"ErrorString"  ,WbErrorString           ,WbErrorFile)
   IniWritePvt(WbErrorDateTime,"ScriptLine"   ,WbErrorHandlerLine      ,WbErrorFile)
   IniWritePvt(WbErrorDateTime,"ScriptOffset" ,WbErrorHandlerOffset    ,WbErrorFile)
   IniWritePvt(WbErrorDateTime,"VarAssignment",WbErrorHandlerAssignment,WbErrorFile)
   IniWritePvt(WbErrorDateTime,"VarInSegment" ,WbErrorInSegment,WbErrorFile)
   IniWritePvt("","","",WbErrorFile)
EndIf
WbErrorMsgText = StrCat(WbErrorDateTime,@CRLF)
WbErrorMsgText = StrCat(WbErrorMsgText,"Current Script: ",WbErrorHandlerFile,@CRLF)
WbErrorMsgText = StrCat(WbErrorMsgText,"Error# [",WbError,"]",@CRLF)
WbErrorMsgText = StrCat(WbErrorMsgText,"Error Text: ",wberrortextstring,@CRLF)
WbErrorMsgText = StrCat(WbErrorMsgText,"[Extended Information] ",wberroradditionalinfo,@CRLF,@CRLF)
WbErrorMsgText = StrCat(WbErrorMsgText,"On Line:",@CRLF,WbErrorHandlerLine,@CRLF)
;WbErrorMsgText = StrCat(WbErrorMsgText,"Offset: ",WbErrorHandlerOffset,@CRLF)
If (WbErrorHandlerAssignment>"") Then %WbErrorHandlerAssignment% = "UNKNOWN"
WbErrorMsgText = StrCat(WbErrorMsgText,"Assignment/Variable: ",WbErrorHandlerAssignment,@CRLF)
If (WbErrorInSegment>"") Then WbErrorMsgText = StrCat(WbErrorMsgText,"In UDF/UDS: ",WbErrorInSegment,@CRLF)
If logfile
   cSep = StrCat(StrFill("=",50),@CRLF)
   cLogFile = StrCat(DirScript(),"log.err")
   If ! FileExist(cLogFile) Then FilePut(cLogFile,StrCat("Error Log",@CRLF,cSep))
   FilePut(cLogFile,StrCat(FileGet(cLogFile),WbErrorMsgText,cSep))
   Display(2,"An Error Occured",StrCat("written to ",cLogFile))
Else
   If showerr
      WbErrorMsgText = StrCat(WbErrorMsgText,"[THIS ERROR NOT WRITTEN TO LOG FILE]",@CRLF)
      Message("An Error Was Encountered",WbErrorMsgText)
   EndIf
EndIf
Return(1)
#EndSubRoutine

Return
;///////////////////////////////////////////////////////////////////////////////////////////////

Article ID:   W17736
Filename:   Bing Maps.txt
File Created: 2012:03:29:09:37:36
Last Updated: 2012:03:29:09:37:36