Momentan geht beides leider nicht so einfach. Das Google Maps
API liefert keine Tasten-Events. Um daran zu kommen, gibt es verschiedene Stellen:
- COM: Die Funktion TranslateAccelerator des IDocHostUIHandler-Interfaces. Diese wird gegenwärtig zum Beispiel bei der Behandlung der Refresh-Taste (F5) intern vom Script-Objekt verwendet. In der kommenden Version wird darüber auch der optische Zoom des IE's ansprechbar sein (Ctrl +, Ctrl -) und Ctrl N (neues Browserfenster) unterdrückt werden. Um Dich dort einzuklinken, könntest Du das TScript-Objekt ableiten und die Methode TranslateAccelerator überladen. In der kommenden Version könnte ich dazu noch ein Event anlegen.
- Über Event-Handler, die sich an die einzelnen DOM-Objekte des Browsers heften (Map, StreetView usw.). Die könnte ich in die kommende Version des Frameworks noch einfügen.
- Über KeyPreview des Formulars.
- Über einen Tastatur-Hook.
Schau dir mal den JavaScript-Code der
KeyDragZoom-Library an: Dort wird die Betätigung der Tasten Shift, Ctrl und Alt ausgewertet und der Cursor gesetzt.
Das Rechteck kannst Du natürlich als Markierungsrahmen verwenden. Das Aufziehen eines Rechtecks scheitert momentan aber daran, daß die Karte das Klicken und Ziehen als Verschiebung der Karte interpretiert.