POST
|
We have a WMS layer that comes from an ESRI service. Basically we just published it as a WMS service. We had done this in the past and all worked fine. Now, we have the labels in the legend showing truncated on the right. This is how we retrieve the legend: MapServer/WMSServer?request=GetLegendGraphic%26version=1.1.1%26format=image/png%26layer=1 We retrieve the legend the same way in both cases, yet the result is different. We think that there is a setting somewhere causing that. Any ideas what can cause this? I am attaching the result of both calls for you to see. thanks
... View more
04-20-2015
08:40 AM
|
0
|
0
|
2446
|
POST
|
I have been working with the legend we display with our map. I'd like to be able to select a layer and execute something on selected. Is that possible? I have not seen neither an event like that nor the selection itself.
... View more
04-16-2014
10:11 AM
|
0
|
6
|
752
|
POST
|
Thanks for your reply, very helpful. You mentioned creating my own client side projection. I tried that but I could not figure out the correct math equations. All my data is in NAD27, Spatial reference 4267 and I need to project it to WebMercator, Spatial reference 102100 to go in the map. It would be interesting to know how you figure out your own if you can share, where did you find the math equations, etc. thanks!!
... View more
03-25-2014
07:46 AM
|
0
|
0
|
355
|
POST
|
Thanks for your reply. Yes, I experimented with the user token yesterday and added a list as a token with all the attributes I need to have back. They seem to comeback in the same order as you mentioned. Yesterday, I was discourage of using that for production though. I thought that was unsafe to just trust the order of a list. If there is nothing else then I guess that would do for now. Hopefully ESRI will address that at some point.
... View more
03-05-2014
04:17 AM
|
0
|
0
|
355
|
POST
|
I am using a GeometryService to re-project some graphics. When I am creating the graphics to be sent for re-projection, I add information in the "Attributes" dictionary property. I was hoping that those items would come back in the result of the re-projection; but, apparently the Graphics are returning with an empty Attribute dictionary property. Is that the way this is supposed to work? How can I solve that? In my application it is important to preserve that information after I'm done re-projecting, any suggestion how I can accomplish that? Thanks!
... View more
03-04-2014
11:21 AM
|
0
|
5
|
742
|
POST
|
I am trying to project asynchronously a number of graphics and I am having an issue with a busy GeometryService. Our application has a set of control that filters the data (Graphics) the user wants to see displayed on the map. Some controls (or filters as we called them) are just a Yes/no control (a flag) and others are a slider to narrow/expand the data. The flag controls work just fine because when the client selects/unselects the event is just one and whatever data is needed to be projected is aggregated in a List and sent asynchronously like this: myGeomSer.ProjectAsync(myListOfPoints, mapControl1.map1.SpatialReference); The problem is with the slider. When my client uses the slider to narrow the data then the event that the slider is moving is firing every single time the slider is moved. The events are happening faster that the time it takes the GeometryService to come back with the results and it fires an exception when I try to do another ProjectAsync while it is busy. What I did was to test whether the service is busy and the cancel whatever is doing and request a new ProjectAsync hoping that the last one would contain the results I was expecting. The code looks like this: if (myGeomSer.IsBusy) { myGeomSer.CancelAsync(); myGeomSer.ProjectAsync(myListOfPoints, mapControl1.map1.SpatialReference); } else { myGeomSer.ProjectAsync(myListOfPoints, mapControl1.map1.SpatialReference); } That looks all good except that the service never comes back to the method: myGeomSer_ProjectCompleted(object sender, ESRI.ArcGIS.Client.Tasks.GraphicsEventArgs e) So my question, is there a way to do this operation? how can I cancel the ProjectAsync and launch it again so I can get the results I need when the client has stopped moving the slider? I don't have access to the slider events because I'm integrating the map in a framework and we get the events based on changes on the data and not the GUI's. Thanks!
... View more
02-25-2014
11:45 AM
|
0
|
2
|
582
|
POST
|
we have a map that displays a large number of graphics (in a graphic layer). We set up the property myGraphicLayer.ProjectionService. We then create MapPoint's and set the spatial reference property. These map points are finally added as the geometry of the ESRI.ArcGIS.Client.Graphic objects which in turn go into the graphic layer.
GeometryService geomser = new GeometryService("http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer");
GraphicsLayer gl = new GraphicsLayer();
gl.ProjectionService = geomser;
this.mapControl1.map1.Layers.Add(gl);
//FROM HERE ON WE NORMALLY DO IT IN A LOOP TO ADD SEVERAL GRAPHICS
MapPoint p = new MapPoint(myLongitude, myLatitude, null);
p.SpatialReference = new ESRI.ArcGIS.Client.Geometry.SpatialReference(4267);
SimpleMarkerSymbol mark = new SimpleMarkerSymbol();
ESRI.ArcGIS.Client.Graphic g = new ESRI.ArcGIS.Client.Graphic();
g.Symbol = mark;
g.Geometry = p;
gl.Graphics.Add(g);
We have noticed (and timed) the process of adding the graphics to the layer in a loop as described before. That does not take any time at all; yet the application pretty much freezes. We have checked in several points and it seems to be waiting on the projection service to comeback. My guess is that it sends the projections one by one and it is waiting for all of them to comeback?? Is there any way for us to set this up in a way that it sends a batch to the projection service? If not, then is there a way to make this work in a multi-threaded environment so the projections are happening yet the client can continue working? thanks!
... View more
02-21-2014
11:20 AM
|
0
|
2
|
639
|
POST
|
In case someone is interested, this is what I was looking for: VisibilityChanged Thanks!
... View more
01-28-2014
10:47 AM
|
0
|
0
|
199
|
POST
|
I have an ArcGISDynamicMapServiceLayer displayed on a map. We also have a Legend next to our map displaying all the layers/sub-layers on the map. What I'd like to do is to detect an event when the Sub-layers in my ArcGISDynamicMapServiceLayer layer have been made visible or not. In other words I guess I want to know when the VisibleLayers property of the ArcGISDynamicMapServiceLayer has been changed. Thanks!
... View more
01-28-2014
08:18 AM
|
0
|
1
|
546
|
POST
|
Dominique, thanks again. Is there any example somewhere about the ToJason method and how to write it? Thanks! Luis
... View more
01-23-2014
07:13 AM
|
0
|
0
|
332
|
POST
|
Thanks for your reply. Yeah, I figured I would have to extend MarkerSymbol. I see in the documentation that SimpleMarkerSymbol extends MarkerSymbol AND IJsonSerializable. What is this IJsonSerializable interface for? Do you know if I need to extend that as well in my project for it to work properly? Also, you mentioned this other SimpleMarkerSymbol class in ESRI.ArcGIS.Client.FeatureService.Symbols, what is the difference between that class and the one I am using? Thanks!
... View more
01-23-2014
05:31 AM
|
0
|
0
|
332
|
POST
|
I am working in a project where we have to define the stroke color of a SimpleMarkerSymbol. Right now I am using a ControlTemplate to define it like this:
<ControlTemplate>
<Ellipse Fill="{Binding Symbol.Color}" Stroke="Black" />
</ControlTemplate>
That worked fine until now. I have an enhancement request that asks to make the Stroke color dynamic like the Fill color is. For the Fill color to be dynamic what I did was to Bind it to the "Color" property of the "SimpleMarkerSymbol." That works fine except that I don't see any Stroke property in the SimpleMarkerSymbol class. How can I add that? Do I need to write my own MarkerSymbol class? I tried extending SimpleMarkerSymbol but that is a "sealed" class. Thanks for your help!
... View more
01-22-2014
10:52 AM
|
0
|
4
|
742
|
POST
|
I have a graphics layer that has many Graphics on it. This graphics may change depending on clients selection. Since it takes some time to recreate the graphics and add them to the layer, I thought it would be nice to just recreate the layer in a different thread, return it in the WorkItem of the thread that did the work and replace it in the map. When I try to add the new layer to the Map though I get this error: The calling thread cannot access this object because a different thread owns it To try to solve this problem, I used the dispatcher of the Map like this:
map1.Dispatcher.Invoke((Action)
(()=>{
map1.Layers.Add(layerCreatedInOtherThread);
})
);
And I got the same error. I also tried BeginInvoke and got the same result... So, basically the map cannot use that layer created in a different thread. How can I do this? Any suggestions?
... View more
10-11-2013
01:01 PM
|
0
|
1
|
542
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:24 AM
|