Hallo,
ich experimentiere gerade mit Google-Maps in einer Windows-Formanwendung. Im Net habe ich einen Script gefunden mit dem man die Position mit einer Infoblase auf der Karte hervorheben kann. In der Blase werden Längen- und Breitengrad angezeigt. Deiser Script erstellt bei jedem klick auf der Karte eine neue Infoblase mit den neuen Koordinaten.
Hier der Code Schnipsel:
function showAddress(address) {
if (geocoder) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " nicht gefunden");
} else {
map.setCenter(point, 13);
var marker = new GMarker(point);
map.addOverlay(marker);
marker.openInfoWindowHtml("<br \/>Längengrad: <strong>"+point.lng()+"<\/strong><br \/>Breitengrad: <strong>"+point.lat()+"<\/strong>");
GEvent.addListener(map, "click", function(markersetzen, point) {
map.clearOverlays();
marker = new GMarker(point);
map.addOverlay(marker);
marker.openInfoWindowHtml("<br \/>Längengrad: <strong>"+point.lng()+"<\/strong><br \/>Breitengrad: <strong>"+point.lat()+"<\/strong>");
});
}
}
);
}
}
Klickt man aber statt auf die Karte auf das kleine Kreuz zum schliessen der Infoblase, oder sonstwo in der Blase, dann ensteht ein Internet Explorer-Skriptfehler.
Fehler: 'lat' ist Null oder kein Objekt
Code beim laden der Form:
wb.Navigate(IO.Path.Combine(Application.StartupPath, "TestLongLat.html"))
Wo wb als neuer WebBrowser deklariert ist.
Weiss jemand wie man das abfangen (abfragen) könnte ob der User in die Blase oder auf die Karte geklickt hat?
Danke im Voraus,
Basicus