I am attempting to make a simple map that will allow users to see a truck's GPS location on top of a tiled map service. I am having difficulty getting the graphic symbol to overlap my tiled service because the spatial systems do not match. Is there a good example or could someone help me conversion through a geometry service? Is a geometry service even the correct method to use for plotting my graphics? Here is my code so far. Xaml: <UserControl x:Class="TruckGPS_Test.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="400" xmlns:esri="http://schemas.esri.com/arcgis/client/2009" xmlns:esriSymbols="clr-namespace:ESRI.ArcGIS.Client.Symbols;assembly=ESRI.ArcGIS.Client"> <Grid x:Name="LayoutRoot" Background="White"> <Grid.Resources> <esri:SimpleMarkerSymbol x:Key="RedMarkerSymbol" Color="Red" Size="12" Style="Circle" /> <esri:SimpleMarkerSymbol x:Key="YellowMarkerSymbol" Color="Yellow" Size="25" Style="Circle" /> <esriSymbols:PictureMarkerSymbol x:Name="TRUCK" Source="images/bucket-truck-box.png" /> </Grid.Resources> <esri:Map x:Name="MyMap" WrapAround="True" Margin="0,0,-325,-506" MouseMove="MyMap_MouseMove"> <!--<esri:ArcGISTiledMapServiceLayer ID="MyLayer" Url="http://gisaprd/ArcGIS/rest/services/BaseMap_ArcReader_Cached/MapServer" />--> <!--<esri:ArcGISTiledMapServiceLayer ID="MyLayer" Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" />--> <esri:ArcGISTiledMapServiceLayer ID="Aerials" Url="http://gisaprd/ArcGIS/rest/services/AerialCoordinateTest/MapServer" Visible="False" /> <esri:ArcGISDynamicMapServiceLayer Url="http://gisaprd/ArcGIS/rest/services/BaseMapCool__WebViewer/MapServer" /> <esri:GraphicsLayer ID="TruckGPS" > <esri:GraphicsLayer.MapTip> <Grid Background="#FFD65555" > <Border BorderBrush="#FFFF0000" BorderThickness="1" CornerRadius="5" /> <StackPanel Orientation="Vertical" > <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding [USER_NAME]}" FontWeight="Bold" Foreground="White" HorizontalAlignment="Left"/> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding [SYSTIME]}" FontWeight="Bold" Foreground="White" HorizontalAlignment="Left"/> </StackPanel> </StackPanel> </Grid> </esri:GraphicsLayer.MapTip> </esri:GraphicsLayer> </esri:Map> <Grid MinWidth="300" HorizontalAlignment="Right" Background="White" VerticalAlignment="Top" Margin="0,15,15,0" > <StackPanel Margin="5"> <TextBlock x:Name="ScreenCoordsTextBlock" HorizontalAlignment="Left" VerticalAlignment="Center" Text="Screen Coords: " TextWrapping="Wrap" /> <TextBlock x:Name="MapCoordsTextBlock" HorizontalAlignment="Left" VerticalAlignment="Center" Text="Map Coords: " TextWrapping="Wrap" /> </StackPanel> </Grid> </Grid> </UserControl> C# using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using ESRI.ArcGIS.Client; using ESRI.ArcGIS.Client.Geometry; using ESRI.ArcGIS.Client.Symbols; using System.Runtime.Serialization; using ESRI.ArcGIS.Client.Tasks; using System.Windows.Threading; using ESRI.ArcGIS.Client.Bing; namespace TruckGPS_Test { public partial class MainPage : UserControl { public MainPage() { InitializeComponent(); //AddMarkerGraphics(); QueryTask queryTaskTruckGPS = new QueryTask("http://gisaprd/ArcGIS/rest/services/TruckGPS/MapServer/8"); queryTaskTruckGPS.ExecuteCompleted += QueryTask_ExecuteCompletedTruckGPS; ESRI.ArcGIS.Client.Tasks.Query queryTruckGPS = new ESRI.ArcGIS.Client.Tasks.Query(); queryTruckGPS.OutFields.Add("*"); queryTruckGPS.ReturnGeometry = false; queryTruckGPS.Where = "1=1"; queryTaskTruckGPS.ExecuteAsync(queryTruckGPS, "initial"); //This timer updates the outage feature count after a 30 second wait System.Windows.Threading.DispatcherTimer myDispatcherTimer = new System.Windows.Threading.DispatcherTimer(); myDispatcherTimer.Interval = new TimeSpan(0, 0, 0, 10, 0); myDispatcherTimer.Tick += new EventHandler(Each_Tick); myDispatcherTimer.Start(); } public void Each_Tick(object o, EventArgs sender) { QueryTask queryTaskTruckGPS = new QueryTask("http://gisaprd/ArcGIS/rest/services/TruckGPS/MapServer/8"); queryTaskTruckGPS.ExecuteCompleted += QueryTask_ExecuteCompletedTruckGPS; ESRI.ArcGIS.Client.Tasks.Query queryTruckGPS = new ESRI.ArcGIS.Client.Tasks.Query(); queryTruckGPS.OutFields.Add("*"); queryTruckGPS.ReturnGeometry = false; queryTruckGPS.Where = "1=1"; queryTaskTruckGPS.ExecuteAsync(queryTruckGPS, "initial"); } private void QueryTask_ExecuteCompletedTruckGPS(object sender, ESRI.ArcGIS.Client.Tasks.QueryEventArgs args) { //If Counter isn't working check the web service, make sure the table is added to the map service FeatureSet featureSet = args.FeatureSet; GraphicsLayer graphicsLayer = MyMap.Layers["TruckGPS"] as GraphicsLayer; graphicsLayer.ClearGraphics(); if (featureSet != null && featureSet.Features.Count > 0) { ////Check the system time and subtract the time amount wanted from the last gps systime read for movement or idle truck //System.DateTime dTime = DateTime.Now; //// tSpan is 0 days, 0 hours, 0 minutes, and 0 seconds. //System.TimeSpan tSpan = new System.TimeSpan(0, 1, 0, 0); //System.DateTime result = dTime - tSpan; foreach (ESRI.ArcGIS.Client.Graphic feature in featureSet.Features) { if ((feature.Attributes["LONGITUDE"] != null) && (feature.Attributes["LATITUDE"] != null) ) //&& (feature.Attributes["S"]) { var Machine_Name = feature.Attributes["MACHINE_NAME"].ToString(); var User_Name = feature.Attributes["USER_NAME"].ToString(); double x = Convert.ToDouble(feature.Attributes["LONGITUDE"]); double y =Convert.ToDouble(feature.Attributes["LATITUDE"]); feature.Geometry = new MapPoint(x, y); //if (User_Name == "CU656") //{ feature.Symbol = LayoutRoot.Resources["TRUCK"] as ESRI.ArcGIS.Client.Symbols.Symbol; graphicsLayer.Graphics.Add(feature); //} //else //{ // feature.Symbol = LayoutRoot.Resources["RedMarkerSymbol"] as ESRI.ArcGIS.Client.Symbols.Symbol; // graphicsLayer.Graphics.Add(feature); //} } } { (MyMap.Layers["TruckGPS"] as GraphicsLayer).Refresh(); }; } else { graphicsLayer.ClearGraphics(); //MessageBox.Show("No features returned from query"); } } } }