guinness Posted November 19, 2013 Share Posted November 19, 2013 Great opportunity to improve your skills, especially if you class yourself as a developer. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
michaelslamet Posted November 19, 2013 Share Posted November 19, 2013 Great opportunity to improve your skills, especially if you class yourself as a developer. More as a hobby (that actually help a lot for my work/office), I agree to keep improve skills Link to comment Share on other sites More sharing options...
kescho Posted November 20, 2013 Share Posted November 20, 2013 (edited) Hello! I have modified this UDF for my project and for me it works as it has to work. Functions: _GUICtrlGoogleMap_GetLatLng() - slightly modified _GUICtrlGoogleMap_Create() - added options: streetview, overview map, language (for directions, labels on map etc), weather unit _GUICtrlGoogleMap_ViewLocation() - centers map to a new address _GUICtrlGoogleMap_ViewCoordinates() - centers map to gps coordinates (for viewing real coordinates, not binded to the nearest address) _GUICtrlGoogleMap_ZoomView() _GUICtrlGoogleMap_GetMapZoom() - gets zoom level of displayed map _GUICtrlGoogleMap_AddMarker() _GUICtrlGoogleMap_HideAllMarkers() _GUICtrlGoogleMap_ShowAllMarkers() _GUICtrlGoogleMap_DeleteAllMarkers() _GUICtrlGoogleMap_ViewAllMarkers() _GUICtrlGoogleMap_SetMapType() _GUICtrlGoogleMap_AddRoute() - visually adds route to map (with up to 4 waypoints, and draggable route) _GUICtrlGoogleMap_GetRouteDetails() - gets directions of previously added route _GUICtrlGoogleMap_GetPosition() - gets the position of marker (with draggable marker you can always have its actual position) _GUICtrlGoogleMap_Weather() - enable or disable weather service with units defined in _GUICtrlGoogleMap_Create() To add new route and get directions: _GUICtrlGoogleMap_AddRoute($gmap, $start_location, $end_location, $travel_mode, $wp1, $wp2, $wp3, $wp4) ;travel_mode and waypoints are optional Sleep(250) ;needed, otherwise can give empty directions $directions = _GUICtrlGoogleMap_GetRouteDetails($gmap) ;contains directions steps, length of route and needed time for the route based on selected travel mode Tested with my project under Windows XP (IE6,7,8) and Windows 7 x86/x64 (IE9,10,11). I hope this by me modified and refreshed UDF will be handy for someone. PS: Sorry if the code is not very clean... I'm still learning._Google Maps v2.au3 Edited November 20, 2013 by kescho Link to comment Share on other sites More sharing options...
michaelslamet Posted November 21, 2013 Share Posted November 21, 2013 Hello! I have modified this UDF for my project and for me it works as it has to work. To add new route and get directions: _GUICtrlGoogleMap_AddRoute($gmap, $start_location, $end_location, $travel_mode, $wp1, $wp2, $wp3, $wp4) ;travel_mode and waypoints are optional Sleep(250) ;needed, otherwise can give empty directions $directions = _GUICtrlGoogleMap_GetRouteDetails($gmap) ;contains directions steps, length of route and needed time for the route based on selected travel mode Tested with my project under Windows XP (IE6,7,8) and Windows 7 x86/x64 (IE9,10,11). I hope this by me modified and refreshed UDF will be handy for someone. PS: Sorry if the code is not very clean... I'm still learning. Kescho, thank you so much, this sure will help Thanks again for sharing this! Link to comment Share on other sites More sharing options...
kescho Posted November 23, 2013 Share Posted November 23, 2013 I have updated the _Google Maps v2 UDF... It had a small bug, the scale control was not showed on map even when enabled. I found out that it was caused by the embedded webbrowser. The _IECreateEmbedded() embeds IE in version 7 even if newer version is installed. More to read here: '?do=embed' frameborder='0' data-embedContent>> Changes: - to resolve the descibed bug I did not use any registry hack, only changed the compatibility to IE8+ - within the function _GUICtrlGoogleMap_Create() - I changed a bit the function _GUICtrlGoogleMap_Create() - added zoom_style, changed scale parameter - fixed some variables, constants etc... It should work with IE8 and newer, I have tested it with IE11. The updated UDF is attached below... I also attach 2 ZIP files that contains a strip-down version of my project with needed UDFs (1x source and 1x compiled). _Google Maps v2.au3GMT - Google Maps Tool_source.zipGMT - Google Maps Tool_compiled.zip Link to comment Share on other sites More sharing options...
michaelslamet Posted November 23, 2013 Share Posted November 23, 2013 @Kescho: impressive! thanks for sharing this! 3 questions for now: 1. Is it possible to draw a radius on the map? Something like this: http://www.freemaptools.com/radius-around-point.htm So user enter a coordinate (or location) and radius in metre, our script draw the radius/circle on the map. 2. Still about radius, currently it can count the driving distance between 2 coordinates, but can it count the radius distance? So given 2 coordinates, and it count what is the RADIUS distance between those 2 coordinates. 3. Your GMT scripts can count distance between 2 coordinates, is it a driving/car distance? Thanks again! Link to comment Share on other sites More sharing options...
kescho Posted November 23, 2013 Share Posted November 23, 2013 (edited) 1) I think it is possible to draw a lot of stuff on the map. Everything is explained in the Google Maps API v3 Documentation: https://developers.google.com/maps/documentation/javascript/tutorial Google Maps have many options for drawing objects, you just need to call the appropriate function with specific parameters. 2) all the calculations are done by functions in Javascript and results are passed to autoit variables and then showed in gui... 3) for my project the default calculations for distance between coordinates is by car/driving - other modes are described in the function info for _GUICtrlGoogleMap_AddRoute(): $travel_mode - 0 = Uses a travel mode of DRIVING 1 = Uses a travel mode of WALKING 2 = Uses a travel mode of BICYCLING These are modes supported by google maps (+ one mode I'm not using: google.maps.TravelMode.TRANSIT - requests directions via public transit routes). Edited November 23, 2013 by kescho Link to comment Share on other sites More sharing options...
michaelslamet Posted November 23, 2013 Share Posted November 23, 2013 Thank you Kescho, I will take a look at the API. Another question: when calculating distance and/or draw route with $travel_mode = DRIVING, is it a option to choose "use highway road" or not? Because it's pretty common to let user choose that Link to comment Share on other sites More sharing options...
kescho Posted November 23, 2013 Share Posted November 23, 2013 (edited) There are two options: avoidHighways, avoidTolls which can be set to true/false. The DirectionsRequest object literal contains the following fields: { origin: LatLng | String, destination: LatLng | String, travelMode: TravelMode, transitOptions: TransitOptions, unitSystem: UnitSystem, durationInTraffic: Boolean, waypoints[]: DirectionsWaypoint, optimizeWaypoints: Boolean, provideRouteAlternatives: Boolean, avoidHighways: Boolean, avoidTolls: Boolean region: String} These fields are explained below: origin (required) specifies the start location from which to calculate directions. This value may either be specified as a String (e.g. "Chicago, IL") or as a LatLng value. destination (required) specifies the end location to which to calculate directions. This value may either be specified as a String (e.g. "Chicago, IL") or as a LatLng value. travelMode (required) specifies what mode of transport to use when calculating directions. Valid values are specified in Travel Modes below. transitOptions (optional) specifies values that apply only to requests where travelMode is google.maps.TravelMode.TRANSIT. Valid values are described in Transit Options, below. unitSystem (optional) specifies what unit system to use when displaying results. Valid values are specified in Unit Systems below. durationInTraffic (optional) specifies whether the DirectionsLeg result should include a duration that takes into account current traffic conditions. This feature is only available for Maps for Business customers. The time in current traffic will only be returned if traffic information is available in the requested area. waypoints[] (optional) specifies an array of DirectionsWaypoints. Waypoints alter a route by routing it through the specified location(s). A waypoint is specified as an object literal with fields shown below: location specifies the location of the waypoint, either as a LatLng or as a String which will be geocoded. stopover is a boolean which indicates that the waypoint is a stop on the route, which has the effect of splitting the route into two routes. (For more information on waypoints, see Using Waypoints in Routes below.) optimizeWaypoints (optional) specifies that the route using the supplied waypoints may be optimized to provide the shortest possible route. If true, the Directions service will return the reordered waypoints in an waypoint_order field.(For more information, see Using Waypoints in Routes below.) provideRouteAlternatives (optional) when set to true specifies that the Directions service may provide more than one route alternative in the response. Note that providing route alternatives may increase the response time from the server. avoidHighways (optional) when set to true indicates that the calculated route(s) should avoid major highways, if possible. avoidTolls (optional) when set to true indicates that the calculated route(s) should avoid toll roads, if possible. region (optional) specifies the region code, specified as a ccTLD ("top-level domain") two-character value. (For more information see Region Biasing below.) I recommend you to read the Google Maps API. Since I have read it, many new stuff was added, so I will read again too and then update my UDF with maybe new functions... Edited November 23, 2013 by kescho Link to comment Share on other sites More sharing options...
michaelslamet Posted December 5, 2013 Share Posted December 5, 2013 How to print the map through AutoIT? Is there a ready to use function for printing? Thank you Link to comment Share on other sites More sharing options...
ldub Posted December 5, 2013 Share Posted December 5, 2013 Thank's a lot, really fine. I can run it but I cannot compile it, I get an error line 7188 ! (Windows XP sp3) Link to comment Share on other sites More sharing options...
kescho Posted December 5, 2013 Share Posted December 5, 2013 Thank's a lot, really fine. I can run it but I cannot compile it, I get an error line 7188 ! (Windows XP sp3) In Windows XP Mode I was able to reproduce this error only when I forgot to use the ini file. When the ini file was in the same folder as the exe and had the same name as the exe file, then everything worked as it should, without any error. Tested with IE6 -> no page loaded and with IE8 -> everything ok (WIndows XP Mode). Link to comment Share on other sites More sharing options...
kescho Posted December 5, 2013 Share Posted December 5, 2013 How to print the map through AutoIT? Is there a ready to use function for printing? Thank you Sorry.. I'm not planning to add print function... After reading some discussions about printing google maps, I'm not even sure if it is possible. Link to comment Share on other sites More sharing options...
ldub Posted December 6, 2013 Share Posted December 6, 2013 I can run it but I cannot compile it, I get an error line 7188 ! (Windows XP sp3) In Windows XP Mode I was able to reproduce this error only when I forgot to use the ini file. When the ini file was in the same folder as the exe and had the same name as the exe file, then everything worked as it should, without any error. Tested with IE6 -> no page loaded and with IE8 -> everything ok (WIndows XP Mode). Ok, I have renamed "GMT - Google Maps Tool.ini" to "Google Maps Tool.ini" and I can compile "Google Maps Tool.au3" now. Thank's for your help Kescho. Link to comment Share on other sites More sharing options...
Tomy46 Posted December 7, 2013 Share Posted December 7, 2013 Nice UDF How Can we create circle on the map with this UDF (with API 3 : google.maps.Circle) ? I need it for my software ... Heeeeeeeeeeelp ======> Tomy ... just for fun <====== Link to comment Share on other sites More sharing options...
qwert Posted December 7, 2013 Share Posted December 7, 2013 (edited) @Tomy46: I see you're rather new to the forums ... so I want to pass a long a little tip I learned a couple of years ago: Always read through the entire thread before you append a follow-up question ... especially for multipage threads. 9 times out of 10 your question will already be answered. Doing otherwise unnecessarily adds to the length of the thread ... and often annoys the very people who know the answer to your question. Edited December 8, 2013 by qwert Link to comment Share on other sites More sharing options...
michaelslamet Posted December 8, 2013 Share Posted December 8, 2013 Is it possible to click on the marker on the map and then it open a URL? Link to comment Share on other sites More sharing options...
kescho Posted December 8, 2013 Share Posted December 8, 2013 Nice UDF How Can we create circle on the map with this UDF (with API 3 : google.maps.Circle) ? I need it for my software ... Heeeeeeeeeeelp Well i didn't read the whole documentation to the Google Maps API v3 but I think you should find the answer here: https://developers.google.com/maps/documentation/javascript/reference?hl=da#Circle Link to comment Share on other sites More sharing options...
kescho Posted December 8, 2013 Share Posted December 8, 2013 Is it possible to click on the marker on the map and then it open a URL? The marker can be clickable and you cant catch the click event with a function like in the example below: google.maps.event.addListener(marker, 'click', function () { some commands...; }); something like this: - click on marker - listener sets a value to a variable - with $GUI_EVENT_PRIMARYUP you start AdlibRegister which calls a function to read the value of the variable - if the variable has correct value then open url, reset the javascript variable and AdlibUnRegister. I have this for refreshing the position of the marker/get zoom level/refreshing directions in my example, so I think it could work also for catching marker click and opening an url. Check the javascript listeners and functions in the UDF and the way they are called... Link to comment Share on other sites More sharing options...
guinness Posted December 8, 2013 Share Posted December 8, 2013 It's commendable kescho that you have taken this UDF into your own, maybe you want to branch off and create your own thread?I wish more users would take the innitative as you did. Thanks. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now