rootx Posted November 12, 2016 Share Posted November 12, 2016 (edited) I would like to create a google maps and click on the map to copy longitude and latitude.. Any Idea maybe IE Object? THX like this http://www.sunearthtools.com/dp/tools/pos_earth.php?lang=eng Edited November 12, 2016 by rootx Link to comment Share on other sites More sharing options...
PACaleala Posted November 15, 2016 Share Posted November 15, 2016 Check the forum 'Examples' section for "Google Maps" Udf and "_Mouse_Udf". rootx 1 Link to comment Share on other sites More sharing options...
rootx Posted November 18, 2016 Author Share Posted November 18, 2016 (edited) On 16/11/2016 at 0:21 AM, PACaleala said: Check the forum 'Examples' section for "Google Maps" Udf and "_Mouse_Udf". Ok.... I read and I write my test code 4me and 4 the others users... but how can I intercept the event click inside the map??? expandcollapse popup;ROOTX #include <Array.au3> #include <Google Maps.au3> #include <MsgBoxConstants.au3> #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> #include "_Mouse_UDF.au3" Global $main_gui, $set_view_button, $set_view_input, $zoom_view_button, $zoom_view_input, $add_marker_button, $add_marker_input _Mouse_RegisterEvent($EVENT_MOUSE_MOVE, "UpdateOnMove") ; this will only update the data on the label whenever the mouse moves, no more label flickering! _Mouse_RegisterEvent($EVENT_PRIMARY_DBLCLICK, "CreateNewSquare", __ArrayCreate(50, 25)) ; create a random square somewhere on the GUI with 50x25 with and height _Mouse_RegisterEvent($EVENT_MIDDLE_RELEASED, "RemoveNewSquareEvent") ; removes the create new square event once triggered $map = GUICreate("Google Maps", 800, 700, -1, -1) $country= GUICtrlCreateInput("Italy", 24, 620, 249, 21) $city = GUICtrlCreateInput("Milano", 24, 645, 249, 21) $addr = GUICtrlCreateInput("Via Cavour 1", 24, 670, 249, 21) $start = GUICtrlCreateButton("Start", 280, 620, 249, 25) Global $hLabel = GUICtrlCreateLabel("", 550, 620, 130, 50) global $myaddress = GUICtrlRead($country)&" , "&GUICtrlRead($city)&" , "&GUICtrlRead($addr) Global $gmap = _GUICtrlGoogleMap_Create($map, 5, 5, 790, 590,$myaddress, 18,1, True, False, 0, 1, 1,0,0,"it","C") _GUICtrlGoogleMap_ViewLocation($map, $myaddress, 18, 1) GUICtrlSetResizing($gmap, $GUI_DOCKTOP) GUISetState(@SW_SHOW) While 1 While _Mouse_Update() $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $start $newadd = GUICtrlRead($country)&" , "&GUICtrlRead($city)&" , "&GUICtrlRead($addr) _GUICtrlGoogleMap_ViewLocation($map,$newadd, 18, 1) EndSwitch WEnd WEnd Func UpdateOnMove() Local $iHex = _Mouse_GetColor($COLOR_HEX) ; get the current mouse pixel color Local $aiRGB = _Mouse_GetColor($COLOR_RGB) Local $aiInverse[3] = [255 - $aiRGB[0], 255 - $aiRGB[1], 255 - $aiRGB[2]] ; invert the rgb color Local $sData = "" $sData = "Previous XY: " & $MOUSE_PREV_X & ", " & $MOUSE_PREV_Y & @CRLF $sData &= "Current XY: " & $MOUSE_X & ", " & $MOUSE_Y & @CRLF $sData &= "Velocity XY: " & $MOUSE_VEL_X & ", " & $MOUSE_VEL_Y & @CRLF $sData &= "Color: " & $iHex ; set $sData to some of our mouse information GUICtrlSetBkColor($hLabel, $iHex) GUICtrlSetColor($hLabel, __ConvertRGBToHex($aiInverse)) ; we use the inverted color to show a more readable text color GUICtrlSetData($hLabel, $sData) EndFunc Func CreateNewSquare($avArgs) Local $iWidth = $avArgs[0] Local $iHeight = $avArgs[1] ; notice the $avArgs here, which is '__ArrayCreate(50, 25)' GUICtrlCreateLabel("", Random($iWidth, 500 - $iWidth - 10, 1), Random($iHeight, 500 - $iHeight - 10, 1), $avArgs[0], $avArgs[1]) GUICtrlSetBkColor(-1, Random(0x000000, 0xFFFFFF, 1)) $clickpos = _GUICtrlGoogleMap_GetLatLng($myaddress); ----------------------->???? how can I listen this event from the map MsgBox("Position","Your position","X = "&$MOUSE_X & @CR&"Y = " & $MOUSE_Y &@CR & $clickpos[0] &@CR&$clickpos[1]) EndFunc Func RemoveNewSquareEvent() _Mouse_UnRegisterEvent($EVENT_PRIMARY_DBLCLICK) ; we unregister the event and display some text, try double clicked after this text GUICtrlCreateLabel("Primary double click event removed!", 10, 480) EndFunc Func __ArrayCreate($iVal1, $iVal2 = -1, $iVal3 = -1) Local $avArray[3] = [$iVal1, $iVal2, $iVal3] ReDim $avArray[@NumParams] Return $avArray EndFunc Func __ConvertRGBToHex($aiRGB) Return "0x" & Hex($aiRGB[0], 2) & Hex($aiRGB[0], 2) & Hex($aiRGB[2], 2) EndFunc Edited November 18, 2016 by rootx 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