// Basisklassen import com.google.maps.InfoWindowOptions; import com.google.maps.MapMouseEvent; import com.google.maps.MapType; import com.google.maps.controls.MapTypeControl; import com.google.maps.controls.NavigationControl; import com.google.maps.controls.OverviewMapControl; import com.google.maps.controls.ScaleControl; import com.google.maps.overlays.Marker; import com.google.maps.services.ClientGeocoder; import com.google.maps.services.GeocodingEvent; import mx.controls.Alert; // Konstanten für Steuerung var zoom = 16; var mtc:MapTypeControl = new MapTypeControl(); var omc:OverviewMapControl = new OverviewMapControl(); // Controlelemente einbauen und Startposition einnehmen private function onMapReady(event:Event, ziel:String):void { map.addControl(mtc); map.addControl(new ScaleControl()); map.addControl(new NavigationControl()); map.addControl(omc); this.doGeocode(event, ziel); } // Controlelemente ein/ausschalten function toggleControl(control:String, checked:Boolean):void { if(checked == false){ if(control=="mtc"){ map.removeControl(mtc); } if(control=="omc"){ map.removeControl(omc); } } else { if(control=="mtc"){ map.addControl(mtc); } if(control=="omc"){ map.addControl(omc); } } } // Positionieren über GeoCoding function doGeocode(event:Event, ziel:String):void { var geocoder:ClientGeocoder = new ClientGeocoder(); // geocoder.geocode(address.text); geocoder.geocode(ziel); geocoder.addEventListener( GeocodingEvent.GEOCODING_SUCCESS, function(event:GeocodingEvent):void { var placemarks:Array = event.response.placemarks; if (placemarks.length > 0) { map.setCenter(placemarks[0].point, zoom, MapType.NORMAL_MAP_TYPE); var marker:Marker = new Marker(placemarks[0].point); marker.addEventListener(MapMouseEvent.CLICK, function (event:MapMouseEvent):void { marker.openInfoWindow(new InfoWindowOptions({content: placemarks[0].address})); }); map.addOverlay(marker); } }); geocoder.addEventListener( GeocodingEvent.GEOCODING_FAILURE, function(event:GeocodingEvent):void { Alert.show("Leider klappt die Anzeige mit GoogleMaps gerade nicht :-("); trace(event); trace(event.status); }); }