|
POST
|
There is nothing along the lines of a Silverlight control for google maps (certainly none I am aware of). To use google maps you would have to use their API which would mean doing things in javascript. If you are using Silverlight your options are ArcGIS Online and Bing. Both services have their own licensing agreements and it really depends on how you plan on using your site what you would be required to buy and what it costs. For development you can get a limited use Bing key Good luck -Joe
... View more
06-11-2012
05:14 AM
|
0
|
0
|
1198
|
|
POST
|
And if you have not seen it there is not better example of creating custom symbology than Dominques http://www.arcgis.com/home/item.html?id=1e432da7e74f4402bd43a5863167022d#
... View more
06-10-2012
11:22 PM
|
0
|
0
|
628
|
|
POST
|
I think I am not fully understanding what your goal is. The Legend Control has a LayerItemMode property which can be set to Flat of Tree and will show the Legend accordingly. By setting each of the templates individually in xaml you can get it to behave and look differently at each level of the tree. This will reflect the map, though, so if you want to have the Legend in the application show different from how the source map is designed this would not work. I think to do that you might be forced into making changes to the Legend Control and having your own custom control (what I do but for other reasons). Hope that helps -Joe
... View more
06-10-2012
07:59 PM
|
0
|
0
|
439
|
|
POST
|
Have you tried to manually clear the rest cache through the admin console (http://<host>/arcgis/rest/admin) after updating the service source? I have found that usually fixes problems like you describe. -Joe
... View more
06-10-2012
01:37 AM
|
0
|
0
|
586
|
|
POST
|
What u said is correct..Almost all locations are very closer....How can i expand to reach a minimal size??? Map has a MinimumResolution property that defines the lowest resolution that can be zoomed to -Joe
... View more
06-09-2012
09:08 AM
|
0
|
0
|
1227
|
|
POST
|
The Silverlight 3.0 API exposes functionality that is only available in ArcGIS Server 10.1 so it will be released along with the official release of 10.1 (I would guess). I have been told that is about a week away. 3.0 does have the advantage of being able to use Silverlight 5, but much of new features would only be available if the server has also been upgraded to 10.1 -Joe
... View more
06-08-2012
07:56 PM
|
0
|
0
|
1282
|
|
POST
|
I believe you need the Network Server extension for ArcGIS Server. This exposes Network Analyst functionality to server applications -Joe
... View more
06-07-2012
07:58 PM
|
0
|
0
|
487
|
|
POST
|
Thanks for the help everyone. The code that Lance provided works for me but I was really interested in the code provided by Joe. This would be nice but unfortunately I can't seem to get it to work. It doesn't return any errors - it just doesn't do anything with I click the buttons during debugging. Any thoughts? Not clear on doesn't do anything. I assume it is going into the method and gets to the line below
if ( button == null ) return;
Check what the Query:Where is with a Debug statement or in the watch window to confirm is same as before. I run the same code with the buttons copied out of your post and it all worked Good luck -Joe
... View more
06-06-2012
09:56 AM
|
0
|
0
|
1016
|
|
POST
|
Have you confirmed that the Map property on the Navigation tool is set correctly?
... View more
06-05-2012
10:04 PM
|
0
|
0
|
1535
|
|
POST
|
Assuming you are always having the button content be the name of the state you can avoid a long if block with; private void RadioButton_Click(object sender, RoutedEventArgs e) { // Query task initialization. QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/" + "Demographics/ESRI_Census_USA/MapServer/5"); queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted; queryTask.Failed += QueryTask_Failed; // Query task parameters. Return geometry, state, and population density. Query query = new Query(); query.ReturnGeometry = true; query.OutFields.AddRange(new string[] { "STATE_NAME"}); //The Clicked Radio button is always the one selected.. RadioButton button = sender as RadioButton; if ( button == null ) return; query.Where = "STATE_NAME = '" + button.Content + "'"; queryTask.ExecuteAsync(query); }
... View more
06-05-2012
08:05 PM
|
0
|
0
|
1016
|
|
POST
|
This relates back to why ESRI changed their standard to using Web Mercator from the original WGS. In order for multiple tiled services to display together they must use the same tiling scheme so in order to use Bing, Google, ESRI together they all needed to be based on the same spatial reference.
... View more
06-05-2012
07:40 PM
|
0
|
0
|
663
|
|
POST
|
The visible columns is tied to the OutFields collection so the easiest way is to just set the OutFields to only the ones you want. But it seems you want attributes available for the map tip that do not show up. While I have not done it FeatureDataGrid inherits from DataGrid so I assume you can set the Columns like you have started to below. In order to do this you need to first set the AutoGererateColumns property on the FeatureDataGrid to false. Then in your Columns definition only put the ones you do want to see\ Hope that helps -Joe
... View more
06-05-2012
05:06 AM
|
0
|
0
|
427
|
|
POST
|
On you map add a MouseMove event handler.
private void MapMouseMove(object sender, MouseEventArgs mouseEventArgs)
{
MapPoint mapPoint = MyMap.ScreenToMap(mouseEventArgs.GetPosition(MyMap));
MyMap.Cursor = MyFeatureLayer.FullExtent.Intersects(mapPoint) ? Cursors.Hand : Cursors.Arrow;
}
Will change the Cursor anytime it is inside the extent of the FeatureLayer
... View more
06-04-2012
11:52 PM
|
0
|
0
|
698
|
|
POST
|
Sorry, when I looked at that later I see it would not work but we don't want to be using ItemsSource with the FeatureDataGrid, that is there because it inherits from DataGrid but really should be working with the GraphicsLayer property as the binding property. You said you had it working to load the entire FeatureLayer data using code the Jenifer provided. If you go back to that setup than the only part missing is filtering the list after the relationship query. In that setup you have a class level variable l which is the FeatiureLayer. I am going to call that _featureLayer because I hate having a variable named l. Right now you have private void QueryTask_ExecuteRelationshipQueryCompleted(object sender, RelationshipEventArgs e) { IEnumerable<Graphic> graphics = e.Result.RelatedRecordsGroup.First().Value; RelationshipResult pr = e.Result; if (pr.RelatedRecordsGroup.Count == 0) { RelatedRowsDataGrid.ItemsSource = null; } else { foreach (var pair in pr.RelatedRecordsGroup) { RelatedRowsDataGrid.ItemsSource = pair.Value; MyFDG.ItemsSource = pair.Value; } } } What needs to happen in the RelationshipComplete handler is that the FeatureLayer (_featureLayer) gets filtered to only show the correct records. private void QueryTask_ExecuteRelationshipQueryCompleted(object sender, RelationshipEventArgs e) { //This line gets you the all features returned from the Relationship Query IEnumerable<Graphic> graphics = e.Result.RelatedRecordsGroup.First().Value; // There are two ways to filter either using Where clause or using the ObjectIDs property // before you set the Where clause to return all records 1=1 I think // Here instead lets use the ObjectIDs approach, first get rid of the old Where _featureLayer.Where = null //remember _featureLayer is l //ObjectIDs takes an int[] and with a little Linq we can get that array // I am assumning you have included OBJECTID in your outfields when you defined the query int[] objectIds = graphics.Select(g => (int)g.Attributes["OBJECTID"]).ToArray(); //now set the ObjectIDs on our FeatureLayer _featureLayer.ObjectIDs = objectIds; //Update the FeatureLayer to 'redraw' the new filtered set of Features _featureLayer.Update(); //And I hope this worked. you could rebind the layer to the grid to make sure all is good MyFDG.GraphicsLayer = _featureLayer; } Hope that helps -Joe
... View more
06-04-2012
08:23 PM
|
0
|
0
|
2485
|
|
POST
|
What is happening there is that you are binding the FDG to an IEnumerable<Graphic> so you are seeing all the properties on a Graphic object. Try this (not sure it will work, but I think it might)
foreach ( var pair in pr.RelatedRecordsGroup )
{
MyFDG.ItemsSource = pair.Value.Select(g => g.Attributes);
}
That Selects the IEnumerable<Graphic> into an IEnumerable<IDictionary<string, object>>, basically an enumerator of Attributes Good luck
... View more
06-04-2012
09:41 AM
|
0
|
0
|
1193
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 10-23-2025 12:16 PM | |
| 1 | 10-19-2022 01:08 PM | |
| 1 | 09-03-2025 09:25 AM | |
| 1 | 04-16-2025 12:37 PM | |
| 1 | 03-18-2025 12:17 PM |
| Online Status |
Offline
|
| Date Last Visited |
4 weeks ago
|