<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:exif="com.esri.exif.*" xmlns:esri="http://www.esri.com/2008/ags" viewSourceURL="srcview/index.html">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.controls.Text;
import mx.controls.TextInput;
import mx.core.Container;
import mx.containers.Panel;
import mx.containers.VBox;
import mx.core.UIComponent;
import com.esri.ags.geometry.MapPoint;
private function loadHandler():void
{
}
private function completeHandler(event:Event):void
{
if (exifLoader.exif.GPSLongitude && exifLoader.exif.GPSLatitude)
{
const latRef:String = exifLoader.exif.GPSLatitudeRef || "N";
const lonRef:String = exifLoader.exif.GPSLongitudeRef || "W";
const latArr:Array = exifLoader.exif.GPSLatitude;
const lat:Number = (latArr[0] + latArr[1] / 60.0 + latArr[2] / 3600.0) * (latRef == "N" ? 1.0 : -1.0);
const lonArr:Array = exifLoader.exif.GPSLongitude;
const lon:Number = (lonArr[0] + lonArr[1] / 60.0 + lonArr[2] / 3600.0) * (lonRef == "E" ? 1.0 : -1.0);
const mapPoint:MapPoint = new MapPoint(lon, lat);
if (exifLoader.thumbnailByteArray)
{
const loader:Loader = new Loader();
loader.loadBytes(exifLoader.thumbnailByteArray);
const content:UIComponent = new UIComponent();
content.width = 160;
content.height = 120;
content.addChild(loader);
map.infoWindow.label =
latRef + " " + latArr[0] + "\xB0 " + latArr[1] + "' " +
lonRef + " " + lonArr[0] + "\xB0 " + lonArr[1] + "'";
map.infoWindow.content = content;
map.infoWindow.show(mapPoint);
map.centerAt(mapPoint);
map.scale = 1000000.0;
}
}
else
{
Alert.show( "No GPS Info", "Loader");
}
}
private function errorHandler(event:ErrorEvent):void
{
Alert.show(event.text, "Error");
}
private function enterHandler(event:Event):void
{
const textInput:TextInput = TextInput(event.target);
exifLoader.loadJPEG(new URLRequest(textInput.text));
}
]]>
</mx:Script>
<mx:TraceTarget/>
<exif:EXIFLoader id="exifLoader" complete="completeHandler(event)" error="errorHandler(event)"/>
<mx:Panel title="EXIF" width="100%" height="100%">
<esri:Map id="map" openHandCursorVisible="false" load="loadHandler()">
<esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer"/>
</esri:Map>
<mx:ControlBar width="100%">
<mx:TextInput width="100%" enter="enterHandler(event)" text="assets/sample0.jpg"/>
</mx:ControlBar>
</mx:Panel>
</mx:Application>