|
POST
|
I'm also guessing that ClusterGraphicsAsync calls OnCreateGraphic?, but in that case what does it do with the returned graphics? The built-in GraphicsClusterer.ClusterGraphicsAsync calls OnCreateGraphic so a developer can use OnCreateGraphic as an extension point without having to redevelop the cluster process. If you are on the way to write your own cluster process, you should subclass Clusterer which doesn't define OnCreateGraphic. The requirement is that, at the end of the process the clustered graphics, are returned as argument of the ClusteringCompleted event. How do I run on a seperate cancellable thread to prevent blocking the UI Up to the developer. BackgroundWorkers or Tasks executed on the thread pool are possible options. How do raise ClusteringCompleted by invoking OnClusteringCompleted OnClusteringCompleted is protected so you can call it from a subclas of 'Clusterer' How does CancelAsync factor into all of this? Much they also be overridden, if so how? CancelAsync is called by the Framework when the cluster result is no more useful (for example after the user zoomed in or out). A subclass of Clusterer can override it in order to cancel the custom cluster background process. 4a) Does ClusterGraphicsAsync call OnCreateGraphic? 4b) If so, what do you do with the returning graphics? The graphics are returned as argument of the ClusteringCompleted event. OnCreateGraphic is only useful to subclass GraphicsClusterer without having to develop the cluster process. 4c) If you create clusters from the "graphics" parameters based on the "resolution" parameter, is there a smart way of doing this, as this seems like it can be very complicated and easily could be O(n^2)? For sure it's not that simple. It would be easier to use the built in process by subclassing GraphicsClusterer. If your issue comes from a need to filter the graphics to cluster perhaps you might create another graphics layer with the graphics to cluster and apply the cluster process to this layer. The OnCreateGraphic override could be used to synchronize the 2 layers. I never tried that though 🙂
... View more
03-12-2013
08:19 AM
|
0
|
0
|
1017
|
|
POST
|
The binding can't work in this context because: ClassBreakInfo is not a FrameworkElement MaximumValue/MinimumValue are not dependency properties The workaround may be to use attached properties as explained by Morten here.
... View more
03-12-2013
07:24 AM
|
0
|
0
|
618
|
|
POST
|
How do you set the line selection tool? What happens exactly? Also is it working with others selection modes such as circle: editor.SelectionMode = DrawMode.Circle; ?
... View more
03-08-2013
02:58 AM
|
0
|
0
|
1218
|
|
POST
|
You'll find info about the ESRI Viewer for Silverlight in the ArcGIS resource center.
... View more
03-08-2013
01:41 AM
|
0
|
0
|
1655
|
|
POST
|
You had mentioned using ObjectID, what did you mean by that exactly? I meant an unique identifier in order to avoid feature duplications. The ObjectId is a good candidate (the OnDemand mechanism uses it as well to avoid duplication). Most generally the ObjectId field is called "OBJECTID" but to be more generic you can get the objectid field name from FeatureLayerInfo.ObjectIdField.
... View more
03-07-2013
06:18 AM
|
0
|
0
|
1222
|
|
POST
|
You got the idea 🙂 I don't see anything wrong in your code.:confused: I guess you checked that your GisHelper.GetPropertyId method was working well? Check also that you included the PROP_ID field in the OutFields of your feature layer (in XAML). Sorry no others ideas
... View more
03-06-2013
09:44 PM
|
0
|
0
|
1222
|
|
POST
|
Is it possible to set up a feature service without features? AFAIK, there is no limittaion on the number of feautures when publishing a service (so you should be able to publis a service without features). Is this possible to do and save to a database on the server, rather than within the Bookmark widget? There is no builtin functionality for that. But you can develop your own web service to store the extents by user, or, likely easier, you can publish the table of extents with your map service and read/write the table from the cloent with the ArcGIS API.
... View more
03-06-2013
09:29 PM
|
0
|
0
|
458
|
|
POST
|
That's depending on the LOD (levels of détails) of the TiledLayer. Your first code has no ArcGISTiledMapServiceLayer so no LOds.
... View more
03-06-2013
09:24 PM
|
0
|
0
|
649
|
|
POST
|
OK This seems to work and do what I wanted. Great:). I guess your previous sample was not working because your targetName is a ScaleTransform but you reference a grid in TargetProperty (furthermore there are 3 levels of transforms: RenderTransform, TransformGroup and ScaleTransform and you referenced 2 only)
... View more
03-06-2013
09:22 PM
|
0
|
0
|
1660
|
|
POST
|
Easier to animate the ScaleTransform of the root grid. There are samples here (looks at Custom Marker Symbols category).
... View more
03-06-2013
08:04 AM
|
0
|
0
|
1660
|
|
POST
|
Anyway, I tried running with 3.1 but regretfully this version is more unstable. Sorry for that. We are not aware of such issues, so if you had the opportunity to share a repro case that would be very helpful. Thanks for your help.
... View more
03-05-2013
11:03 PM
|
0
|
0
|
1275
|
|
POST
|
Thank you. I am not having much luck with a custom fill symbol. But the site you reference does provide a marker symbol in the shape of a triangle. I can get that to work with my features. Now I want to animate it similar to an ellipse marker that I have used before. The problem is that the content of the symbol is somewhat different being based on a grid and I can't figure out how to reference the properties. Specifically, what component gets named "Element" and which properties get referenced to produce the desired effect. The code below shows what I am trying to do. Can you help? <esri:MarkerSymbol x:Key="Green_Triangle" OffsetX="5.74" OffsetY="5.1333">
<esri:MarkerSymbol.ControlTemplate>
<ControlTemplate>
<Grid RenderTransformOrigin="0.5,0.5">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="SelectionStates">
<VisualState x:Name="Unselected"/>
<VisualState x:Name="Selected">
<Storyboard>
<ColorAnimation Storyboard.TargetName="Element"
Storyboard.TargetProperty="(Grid.Fill).(SolidColorBrush.Color)"
To="Yellow" Duration="00:00:0.25"/>
<ColorAnimation Storyboard.TargetName="Element"
Storyboard.TargetProperty="(Grid.Stroke).(SolidColorBrush.Color)"
To="Black" Duration="00:00:0.25"/>
<DoubleAnimation BeginTime="00:00:00"
Storyboard.TargetName="Element"
Storyboard.TargetProperty="(Canvas.Path.Height)"
To="20" Duration="0:0:0.1" />
<DoubleAnimation BeginTime="00:00:00"
Storyboard.TargetName="Element"
Storyboard.TargetProperty="(Canvas.Path.Width)"
To="20" Duration="0:0:0.1" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
</TransformGroup>
</Grid.RenderTransform>
<Canvas x:Name="Element" HorizontalAlignment="Left" VerticalAlignment="Top">
<Path Width="11.48" Height="10.2667" Fill="Green" Stroke="Green" StrokeThickness="0.5" Data="F1 M 1.12181e-007,10.2667L 5.84208,0L 11.48,10.2667L 1.12181e-007,10.2667 Z " />
</Canvas>
</Grid>
</ControlTemplate>
</esri:MarkerSymbol.ControlTemplate>
</esri:MarkerSymbol> I don't think the Canvas in your symbol is useful. I suggest you give a name to your Path element so you can animate some Path properties with code like:
<ColorAnimation Storyboard.TargetName="MyPath"
Storyboard.TargetProperty="(Path.Fill).(SolidColorBrush.Color)"
To="Yellow" Duration="00:00:0.25"/>
... View more
03-05-2013
10:54 PM
|
0
|
0
|
1660
|
|
POST
|
One option is that you create a point layer at client side from the polygon geometries. This Pie Chart sample is doing that. You can look at CentroidHelper class. For each polygon a point is created, the point position is either the center of the polygon if this one is inside the polygon else a geometry service is used to get a better position.
... View more
03-05-2013
10:48 PM
|
0
|
0
|
792
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 05-12-2025 03:01 AM | |
| 1 | 10-14-2025 09:24 AM | |
| 1 | 06-13-2013 09:22 AM | |
| 1 | 04-29-2022 02:21 AM | |
| 1 | 04-29-2022 02:28 AM |
| Online Status |
Offline
|
| Date Last Visited |
10-30-2025
08:06 AM
|