rootx Posted August 29, 2017 Posted August 29, 2017 (edited) HI, my goal is read the formatted address. " lat_long = location// results[0].formatted_address;" & @CRLF & _ ;<---------Read this adrr Trouble: The button Reverse Geocode doesn't works, and I'm not sure why. Thx expandcollapse popup#include <Array.au3> #include <MsgBoxConstants.au3> #include <ButtonConstants.au3> #include <GuiButton.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <INet.au3> #include <File.au3> #include <EditConstants.au3> #include <Date.au3> #include <Math.au3> #include <GuiStatusBar.au3> #include <IE.au3> Global $reversecord $form1 = GUICreate("test", 800, 600, -1, -1) GUISetState(@SW_SHOW) Global $gmap,$reversecord map() Global $ohJS = $gmap.document.parentwindow.JSglobal ;<-- read inside window ie While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch If $ohJS.lat_long <> $reversecord Then ; <--- check if location has changed $reversecord = $ohJS.lat_long ; <--- get reference to the adrr ;MsgBox(0,"AutoIt", "Latitude: " & $ohJS.lat_long.lat() & @CRLF & "Longitude: " & $ohJS.lat_long.lng() ) ; <-- get coordinates MsgBox("","",$reversecord) EndIf WEnd Func map() $html = _ "<!DOCTYPE html>" & @CRLF & _ "<html>" & @CRLF & _ " <head>" & @CRLF & _ " <meta http-equiv=""X-UA-Compatible"" content=""IE=edge"" />" & @CRLF & _ " <script type=""text/javascript"">" & @CRLF & _ " var JSglobal = (1,eval)(""this"");" & @CRLF & _ ; <--- this will be referenced from AutoIt " var lat_long;" & @CRLF & _ ; <--- temporary storage for adrr " </script>" & @CRLF & _ " <meta name=""viewport"" content=""initial-scale=1.0, user-scalable=no"">" & @CRLF & _ " <meta charset=""utf-8"">" & @CRLF & _ " <title>Reverse Geocoding</title>" & @CRLF & _ " <style>" & @CRLF & _ " /* Always set the map height explicitly to define the size of the div" & @CRLF & _ " * element that contains the map. */" & @CRLF & _ " #map {" & @CRLF & _ " height: 100%;" & @CRLF & _ " }" & @CRLF & _ " /* Optional: Makes the sample page fill the window. */" & @CRLF & _ " html, body {" & @CRLF & _ " height: 100%;" & @CRLF & _ " margin: 0;" & @CRLF & _ " padding: 0;" & @CRLF & _ " }" & @CRLF & _ " #floating-panel {" & @CRLF & _ " position: absolute;" & @CRLF & _ " top: 10px;" & @CRLF & _ " left: 25%;" & @CRLF & _ " z-index: 5;" & @CRLF & _ " background-color: #fff;" & @CRLF & _ " padding: 5px;" & @CRLF & _ " border: 1px solid #999;" & @CRLF & _ " text-align: center;" & @CRLF & _ " font-family: 'Roboto','sans-serif';" & @CRLF & _ " line-height: 30px;" & @CRLF & _ " padding-left: 10px;" & @CRLF & _ " }" & @CRLF & _ " #floating-panel {" & @CRLF & _ " position: absolute;" & @CRLF & _ " top: 5px;" & @CRLF & _ " left: 50%;" & @CRLF & _ " margin-left: -180px;" & @CRLF & _ " width: 350px;" & @CRLF & _ " z-index: 5;" & @CRLF & _ " background-color: #fff;" & @CRLF & _ " padding: 5px;" & @CRLF & _ " border: 1px solid #999;" & @CRLF & _ " }" & @CRLF & _ " #latlng {" & @CRLF & _ " width: 225px;" & @CRLF & _ " }" & @CRLF & _ " </style>" & @CRLF & _ " </head>" & @CRLF & _ " <body>" & @CRLF & _ " <div id=""floating-panel"">" & @CRLF & _ " <input id=""latlng"" type=""text"" value=""40.714224,-73.961452"">" & @CRLF & _ " <input id=""submit"" type=""button"" value=""Reverse Geocode"">" & @CRLF & _ " </div>" & @CRLF & _ " <div id=""map""></div>" & @CRLF & _ " <script>" & @CRLF & _ " function initMap() {" & @CRLF & _ " var map = new google.maps.Map(document.getElementById('map'), {" & @CRLF & _ " zoom: 8," & @CRLF & _ " center: {lat: 40.731, lng: -73.997}" & @CRLF & _ " });" & @CRLF & _ " var geocoder = new google.maps.Geocoder;" & @CRLF & _ " var infowindow = new google.maps.InfoWindow;" & @CRLF & _ "" & @CRLF & _ " document.getElementById('submit').addEventListener('click', function() {" & @CRLF & _ " geocodeLatLng(geocoder, map, infowindow);" & @CRLF & _ " });" & @CRLF & _ " }" & @CRLF & _ "" & @CRLF & _ " function geocodeLatLng(geocoder, map, infowindow) {" & @CRLF & _ " var input = document.getElementById('latlng').value;" & @CRLF & _ " var latlngStr = input.split("&"'"&","&"'"&", 2);" & @CRLF & _ " var latlng = {lat: parseFloat(latlngStr[0]), lng: parseFloat(latlngStr[1])};" & @CRLF & _ " geocoder.geocode({'location': latlng}, function(results, status) {" & @CRLF & _ " if (status === 'OK') {" & @CRLF & _ " if (results[0]) {" & @CRLF & _ " map.setZoom(11);" & @CRLF & _ " var marker = new google.maps.Marker({" & @CRLF & _ " position: latlng," & @CRLF & _ " map: map" & @CRLF & _ " });" & @CRLF & _ " infowindow.setContent(results[0].formatted_address);" & @CRLF & _ " infowindow.open(map, marker);" & @CRLF & _ " lat_long = results[0].formatted_address;" & @CRLF & _ ;<---------Read this adrr " alert(lat_long);" & @CRLF & _ " } else {" & @CRLF & _ " window.alert('No results found');" & @CRLF & _ " }" & @CRLF & _ " } else {" & @CRLF & _ " window.alert('Geocoder failed due to: ' + status);" & @CRLF & _ " }" & @CRLF & _ " });" & @CRLF & _ " }" & @CRLF & _ " </script>" & @CRLF & _ " <script async defer" & @CRLF & _ " src=""https://maps.googleapis.com/maps/api/js?key=AIzaSyBZo1hXkaS1VKoLRaDpH5oPG7cpY1OkKKY&callback=initMap"">" & @CRLF & _ " </script>" & @CRLF & _ " </body>" & @CRLF & _ "</html>" $gmap = _IECreateEmbedded() $gmap_ctrl = GUICtrlCreateObj($gmap, 5, 5, 790, 590) _IENavigate($gmap, "about:blank", 0) _IEDocWriteHTML($gmap, $html) EndFunc Edited August 31, 2017 by rootx
Gianni Posted August 30, 2017 Posted August 30, 2017 .... try the same workaround as in this link: https://www.autoitscript.com/forum/topic/189684-_iecreateembedded-help/?do=findComment&comment=1364624 rootx 1 Chimp small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt....
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