Select to view content in your preferred language

MapTip is not working.

3433
14
03-17-2011 12:17 AM
ManojrajTeli
Deactivated User
I have many layers in my project and one of the layer is "valve".Now i have created the maptip in my mxd also for individual valve layer and it works in mxd but in my silverlight application it doesn't work. I have tried the examples from Interactive SDE but it is not displaying anything even i tried to catch exception and tried showing in text-block but even text-block is also black.Thank in advance and please help.
0 Kudos
14 Replies
JenniferNery
Esri Regular Contributor
It sounds like you have tried SDK samples and was not successful showing map tip using your services. But it is unclear which sample and which error you are getting. Please share some code, error messages and maybe steps to reproduce.
0 Kudos
ManojrajTeli
Deactivated User
<Grid Grid.Row="2">
            <esri:Map x:Name="MyMap"  ExtentChanged="MyMap_ExtentChanged">
            <esri:Map.Template>
                <ControlTemplate>
                    <Grid Background="{TemplateBinding Background}">
                        <Grid x:Name="RootElement" Width="Auto" Height="Auto" />
                        <Rectangle x:Name="ZoomBox" Fill="#55FFFFFF" Stroke="Green" StrokeThickness="2" Visibility="Collapsed" />
                        <StackPanel Orientation="Vertical" HorizontalAlignment="Left" VerticalAlignment="Bottom">
                            <!--<esri:ScaleBar x:Name="MyScaleBar" Margin="5" MapUnit="Meters" TextColor="Black"
                                           DisplayUnit="Kilometers" Map="{Binding ElementName=MyMap}" MouseWheel="MyScaleBar_MouseWheel" DataContext="{Binding}"/>-->                           
                        </StackPanel>
                    </Grid>
                </ControlTemplate>
            </esri:Map.Template>
            <esri:Map.Layers>
                    <!--<esri:ArcGISDynamicMapServiceLayer ID="Goa" Url="http://gis1/ArcGIS/rest/services/Goa_Boundry15-2-2011/MapServer" Initialized="ArcGISDynamicMapServiceLayer_Initialized" InitializationFailed="ArcGISDynamicMapServiceLayer_InitializationFailed"/>-->
                    <esri:ArcGISDynamicMapServiceLayer ID="imagery" Url="http://gis1/ArcGIS/rest/services/Quick1532011/MapServer"/>                   
                    <esri:ArcGISDynamicMapServiceLayer ID="sanguemboundry" Url="http://gis1/ArcGIS/rest/services/Sanguem_Boundry15-3-2011/MapServer"/>
                    <esri:ArcGISDynamicMapServiceLayer ID="naturalfeatures" Url="http://gis1/ArcGIS/rest/services/Sanguem_Natural_Features15-3-2011/MapServer"/>
                    <esri:ArcGISDynamicMapServiceLayer ID="building" Url="http://gis1/ArcGIS/rest/services/Sanguem_Building15-3-2011/MapServer"/>
                    <esri:ArcGISDynamicMapServiceLayer ID="countour" Url="http://gis1/ArcGIS/rest/services/Sanguem_Contours15-3-2011/MapServer"/>
                    <esri:ArcGISDynamicMapServiceLayer ID="waterbodies" Url="http://gis1/ArcGIS/rest/services/Sanguem_Water_Bodies15-3-2011/MapServer"/>
                    <esri:ArcGISDynamicMapServiceLayer ID="roads" Url="http://gis1/ArcGIS/rest/services/Sanguem_Roads15-3-2011/MapServer"/>
                    <esri:ArcGISDynamicMapServiceLayer ID="supplylines" Url="http://gis1/ArcGIS/rest/services/Sanguem_Supply_Lines15-3-2011/MapServer"/>
                    <esri:ArcGISDynamicMapServiceLayer ID="pumpingstation" Url="http://gis1/ArcGIS/rest/services/Sanguem_Pumping_Station15-3-2011/MapServer"/>
                    <esri:ArcGISDynamicMapServiceLayer ID="reservoirs" Url="http://gis1/ArcGIS/rest/services/Sanguem_Reservoirs15-3-2011/MapServer"/>
                    <esri:FeatureLayer ID="MyFeatureLayer" Url="http://gis1/ArcGIS/rest/services/Sanguem_Valve15-3-2011/MapServer/0" OutFields="objectid, size" Renderer="{StaticResource MySimpleRenderer}">                      
                    </esri:FeatureLayer>
                    <esri:ArcGISDynamicMapServiceLayer ID="valve" Url="http://gis1/ArcGIS/rest/services/Sanguem_Valve15-3-2011/MapServer"/>
                    <esri:ArcGISDynamicMapServiceLayer ID="annotation" Url="http://gis1/ArcGIS/rest/services/Sanguem_Annotation15-3-2011/MapServer"/>
                   
                   
               
                <!--<esri:FeatureLayer ID="Goa"
                    Url="http://gis1/ArcGIS/rest/services/Sanguem7-2-2011/MapServer/0" Initialized="ArcGISDynamicMapServiceLayer_Initialized" InitializationFailed="ArcGISDynamicMapServiceLayer_InitializationFailed"/>
                <esri:FeatureLayer ID="Goa1"
                    Url="http://gis1/ArcGIS/rest/services/Sanguem7-2-2011/MapServer/3" Initialized="ArcGISDynamicMapServiceLayer_Initialized" InitializationFailed="ArcGISDynamicMapServiceLayer_InitializationFailed"/>-->
                <!--<esri:ArcGISImageServiceLayer ID="Goa2"
                    Url="http://gis1/ArcGIS/rest/services/Sanguem7-2-2011/MapServer/9" Initialized="ArcGISDynamicMapServiceLayer_Initialized" InitializationFailed="ArcGISDynamicMapServiceLayer_InitializationFailed"/>-->
                <esri:GraphicsLayer ID="MyGraphicsLayer"/>
                <!--<esri:FeatureLayer ID="MyFeatureLayer"
                     Url="http://gis1/ArcGIS/rest/services/Sanguem7-2-2011/MapServer/3">
                </esri:FeatureLayer>-->

            </esri:Map.Layers>
        </esri:Map>


<Canvas HorizontalAlignment="Left" VerticalAlignment="Top" >
            <esri:MapTip x:Name="MyMapTip"  BorderBrush="#99000000"
                BorderThickness="1" Title="{Binding [STATE_NAME]}" VerticalOffset="10"
                HorizontalOffset="10" Background="#DDFFFFFF" />
        </Canvas>


and my c# code

void Layers_LayersInitialized(object sender, EventArgs args)
        {
            try
            {
                ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
                {
                    Geometry = MyMap.Extent,
                    OutSpatialReference = MyMap.SpatialReference
                };
                query.OutFields.Add("*");
                QueryTask querytask = new QueryTask("http://gis1/ArcGIS/rest/services/Sanguem_Supply_Lines15-3-2011/MapServer/2");
                querytask.ExecuteCompleted += QueryTask_ExecuteCompleted;
                querytask.ExecuteAsync(query);
            }
            catch (Exception ex)
            {
                MessageBox.Show("" + ex);
            }
        }

        private void QueryTask_ExecuteCompleted(object sender, ESRI.ArcGIS.Client.Tasks.QueryEventArgs args)
        {
            try
            {
                FeatureSet featureSet = args.FeatureSet;
                GraphicsLayer graphiclayer = MyMap.Layers["MyGraphicsLayer"] as GraphicsLayer;
                MyMapTip.GraphicsLayer = graphiclayer;
                if (featureSet != null && featureSet.Features.Count > 0)
                {
                    foreach (Graphic feature in featureSet.Features)
                    {
                        feature.Symbol = LayoutRoot.Resources["DefaultFillSymbol"] as Symbol;
                        graphiclayer.Graphics.Add(feature);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("" + ex);
            }
        }
0 Kudos
DominiqueBroux
Esri Frequent Contributor
You need to initialize the Where criteria of your query:
  query.OutFields.Add("*");
  query.ReturnGeometry = true;
  query.Where = "1=1";
0 Kudos
ManojrajTeli
Deactivated User
I tried adding those statements but still it failed displaying maptip but in QueryTask_ExecuteCompleted it is returning right number of feature count and fields but not maptip is not getting displayed.Thank you in advance.
0 Kudos
DominiqueBroux
Esri Frequent Contributor
Do you see the features?

If not, check that your symbol fits with the geometry of your features. For example a FillSymbol can't symbolize line features, you need a LineSymbol.
0 Kudos