Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <IE.au3>
Opt("GUIOnEventMode", 1)
[color=#BF0000]$loc_init = "place de la comédie montpellier"
$coord_init = "43.6090105, 3.8800616"[/color]
$html = StringRegExpReplace(FileRead(@scriptfullpath), '(?s).+#cs(.+?)#ce.*?', "$1")
[color=#BF0000]$html = StringReplace($html, "mypersolocation", $loc_init)
$html = StringReplace($html, "mypersocoord", $coord_init)[/color]
GUICreate("test", 740, 700)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
$input_lat = GUICtrlCreateInput("", 70, 660, 150, 30)
GUICtrlSetFont(-1, 14, 600, 0, "Tahoma")
$input_long = GUICtrlCreateInput("", 240, 660, 150, 30)
GUICtrlSetFont(-1, 14, 600, 0, "Tahoma")
$oIE = ObjCreate("Shell.Explorer.2")
GUICtrlCreateObj($oIE, 0, 0, 740, 660)
_IENavigate($oIE, "about:blank")
_IEDocWriteHTML($oIE, $html)
$oIE.refresh()
While $oIE.busy
sleep(100)
Wend
$long = _IEGetObjById($oIE, "lng")
$lat = _IEGetObjById($oIE, "lat")
;_IEAction(_IETagNameGetCollection($oIE, "input", 1), "click") ; clique sur 'chercher'
GUISetState()
While 1
$old_long = GuiCtrlRead($input_long)
$old_lat = GuiCtrlRead($input_lat)
Sleep(100)
$new_long = $long.innertext
$new_lat = $lat.innertext
If $new_long<>$old_long OR $new_lat<>$old_lat Then
GuiCtrlSetData($input_long, $new_long)
GuiCtrlSetData($input_lat, $new_lat)
EndIf
Wend
Func _Exit()
Exit
EndFunc
;===================================================
; http://universimmedia.pagesperso-orange.fr/geo/loc.htm
#cs
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Latitude et longitude avec Google Maps</title>
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAgrj58PbXr2YriiRDqbnL1RSqrCjdkglBijPNIIYrqkVvD1R4QxRl47Yh2D_0C1l5KXQJGrbkSDvXFA"
type="text/javascript"></script>
<script type="text/javascript">
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
var center = new GLatLng([color=#BF0000]mypersocoord[/color]);
map.setCenter(center, 15);
geocoder = new GClientGeocoder();
var marker = new GMarker(center, {draggable: true});
map.addOverlay(marker);
document.getElementById("lat").innerHTML = center.lat().toFixed(7);
document.getElementById("lng").innerHTML = center.lng().toFixed(7);
GEvent.addListener(marker, "dragend", function() {
var point = marker.getPoint();
map.panTo(point);
document.getElementById("lat").innerHTML = point.lat().toFixed(7);
document.getElementById("lng").innerHTML = point.lng().toFixed(7);
});
GEvent.addListener(map, "moveend", function() {
map.clearOverlays();
var center = map.getCenter();
var marker = new GMarker(center, {draggable: true});
map.addOverlay(marker);
document.getElementById("lat").innerHTML = center.lat().toFixed(7);
document.getElementById("lng").innerHTML = center.lng().toFixed(7);
GEvent.addListener(marker, "dragend", function() {
var point =marker.getPoint();
map.panTo(point);
document.getElementById("lat").innerHTML = point.lat().toFixed(7);
document.getElementById("lng").innerHTML = point.lng().toFixed(7);
});
});
}
}
function showAddress(address) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
if (geocoder) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " not found");
} else {
document.getElementById("lat").innerHTML = point.lat().toFixed(7);
document.getElementById("lng").innerHTML = point.lng().toFixed(7);
map.clearOverlays()
map.setCenter(point, 14);
var marker = new GMarker(point, {draggable: true});
map.addOverlay(marker);
GEvent.addListener(marker, "dragend", function() {
var pt = marker.getPoint();
map.panTo(pt);
document.getElementById("lat").innerHTML = pt.lat().toFixed(7);
document.getElementById("lng").innerHTML = pt.lng().toFixed(7);
});
GEvent.addListener(map, "moveend", function() {
map.clearOverlays();
var center = map.getCenter();
var marker = new GMarker(center, {draggable: true});
map.addOverlay(marker);
document.getElementById("lat").innerHTML = center.lat().toFixed(7);
document.getElementById("lng").innerHTML = center.lng().toFixed(7);
GEvent.addListener(marker, "dragend", function() {
var pt = marker.getPoint();
map.panTo(pt);
document.getElementById("lat").innerHTML = pt.lat().toFixed(7);
document.getElementById("lng").innerHTML = pt.lng().toFixed(7);
});
});
}
}
);
}
}
</script>
</head>
<body onload="load()" onunload="GUnload()" >
<p>Glisser-déplacer le pointeur central pour un positionnement fin. Les coordonnées sont rafraichies à la fin de chaque déplacement. </p>
<table bgcolor="#FFFFCC" width="700">
<td>
<tr>
<td width="90"><b>Latitude</b></td>
<td><b>Longitude</b></td>
<td rowspan="2" width="40"> </td>
<td rowspan="2"> <form action="#" onsubmit="showAddress(this.address.value); return false">
<input type="text" size="60" name="address" [color=#BF0000]value="mypersolocation"[/color] />
<input type="submit" value="Chercher" /> </form></td>
</tr>
<tr>
<td id="lat"></td>
<td id="lng"></td>
</tr>
</table>
<br/>
<div align="center" id="map" style="width: 700px; height: 500px"><br/></div>
</body>
</html>
#ce