|
POST
|
Don't use the toolbar. Simply use a set of buttons/images in a stackpanel. Thats really all the toolbar is, apart from the added animation.
... View more
01-26-2011
11:54 AM
|
0
|
0
|
453
|
|
POST
|
I am not sure I undersatnd why ESRI seems to have gone out of the way to not expose any thing that could allow users to do more than make lines have cool visual affects. It seems to me that it would make sense to have Symbol be a UI Component so developers could have greater control over the Control Template. Or some way to have access to the actuall UI Elmenent that is being drawn on, like Flex does. This is done for performance reasons. Creating UI Elements is expensive. This is not really different from what you will see in for instance a ListBox. The ListBox applies a template to each row. The ListBox will never render more than the rows you can see in the view. When you scroll, the row that goes out of view is moved to the new row that comes into view, and it's datacontext is simply updated (this is what is called UI Virtualization). This makes it possible to render millions of rows without having to create millions of UI Elements, and thus the listbox scrolls smoothly. The Map uses a similar approach, and reuses UI Elements. In other words: There's no guarantee that the UIElement that belonged to one graphic, belongs to the same graphic a moment later. There's also other reasons we keep these not exposed - for instance some are due to limitations in Silverlight and WPF where we need to do some work-arounds to get features rendering correctly at all times. Direct access to the UI Element could seriously mess up that step. Having said all that, even if you did have access to the UI Element, you would still be bound by what Silverlight gives you. I can't really see how access to that would allow you to override how a Path is rendered. Access to the template should give you equal power to access the UI Element instance. Don't underestimate the power of templates. Dominique just demonstrated how much you can actually accomplish with them 🙂
... View more
01-26-2011
09:36 AM
|
0
|
0
|
3069
|
|
POST
|
Set Map.MinimumResolution. By default the map sets it to the resolution of the last tile in the tiled layers. However you can override this by explicitly setting it. Note that this will make these tiles stretch beyond what they were meant for. You can in turn avoid this by setting myTiledlayer.MinimumResolution to the resolution of its lowest LOD. That way the tiled layer will turn off when you pass this point, and the dynamic layers will be the only thing visible at this point.
... View more
01-26-2011
08:51 AM
|
0
|
0
|
575
|
|
POST
|
For general Silverlight questions like this, you will have more luck in the Silverlight forums: http://forums.silverlight.net
... View more
01-26-2011
08:47 AM
|
0
|
0
|
550
|
|
POST
|
Could you share a simple sample that reproduces the error?
... View more
01-26-2011
08:44 AM
|
0
|
0
|
1341
|
|
POST
|
Currently the is no event off the map control (the map doesn't even know - it's all handed off to Silverlight at this point). You might be able to use the static CompositionTarget.Rendering event. This fires every time a frame goes to screen. Hook up to it when UpdateCompleted fires. When it fires the first time make sure you unhook from it again (VERY important - big overhead when constantly listening to it). The first time it fires, the rendering step should be complete. (it might take a frame more before you actually see it, but this should be in the milliseconds range).
... View more
01-26-2011
08:43 AM
|
0
|
0
|
539
|
|
POST
|
I'm not sure I completely follow what you want, but here's the laydown of the map resolution: It's the size of one pixel in map units. The map unit might be meters, feet, degrees etc depending on what spatial reference the map is in. The map is essentially unit and scale agnostic, so to the map it's just a "dumb number". If you need to make sense of it, you will need to first figure out how big a pixel is on your screen. A common value used is 96 pixels per inch (DPI), or 1/96 inch per pixel, but thats just a very rough estimate and never the case. It gets even worse when you connect your laptop to a projector and clone the screen. Now you have different DPIs on your laptop and on the projected image, and thus you have two different scales at the same time! This does make sense since the same map extent is bigger on the projected screen, thus the scale must be different. This is basically why the map doesn't deal with scale. There is no good way of outputting the correct scale (note: When ArcMap displays scale it incorrectly assumes 96dpi). I've seen examples of apps asking people to measure the size of a box on the screen. Using that, the app can calculate the correct DPI. Here's an example of that: http://www.gal-systems.com/2/post/2011/01/calculating-and-calibrating-the-scale-in-web-mercator-projection.html If you need to print the map, it gets a little easier. Often we know what size the paper is in "real" units, so we can now better estimate the scale*. If I want to print the current map extent on a piece of paper thats 200mm wide, and my map extent is 5000m wide (ie. map.Extent.Width * mapUnitsToMeterConversionFactor), the scale becomes: 200mm:5000m, or (if we make the units the same on both sides) 1:25000. Notice how I didn't even have to mess with the resolution to get to that value. However, since we are dealing with a bitmap, we at some point need to generate an image that will fit the piece of paper. If the printer prints at 300dpi and the paper is 200mm wide, we get 200mm/2.54mmPerInch * 300dpi = 2362 pixels wide. So our map extent should be 2362px * map.Resolution, which will give us the width in MapUnits. Hope this helps. *Note that in addition to this "simple" scale calculation, the world is projected onto a flat screen, and that projection causes the scale to change throughout the world. It might not even be the same scale horizontally and vertically (Mercator for instance, the Y scale goes toward infinity when you get closer to the poles, and X scale also changes based on both Y and X). This distortion is often ignored, and for many local projections you can in most cases ignore it, but it's worth taking note off that you pretty much never will get the correct scale, unless you print in 3D 🙂
... View more
01-26-2011
08:26 AM
|
0
|
0
|
1822
|
|
POST
|
can't believe it............. no one answered to your question.. every question in here related to cross domains are left un-answered........ BUMP No one? That's not really fair. There was an answer directing to a blogpost that goes in depth with this specifically for using with ArcGIS Server and the Silverlight API, and answers all 3 questions, as do the diagram I directed to. I don't know what else I could do or say that should make it clearer than the blogpost that specifically deals with this. A code example doesn't really make any sense for these types of issues. There's not really anything in code that you can do. It's all about understanding web security and silverlight limitations. This is just a forum where users and sometimes ESRI staff help out. If you have time critical issues, please call ESRI support, and they will be happy to help you out.
... View more
01-26-2011
08:05 AM
|
0
|
0
|
1011
|
|
POST
|
Try this trigger instead: <DataTrigger Binding="{Binding AreAnyTouchesOver,RelativeSource={RelativeSource Self}}" Value="True">
... View more
01-26-2011
07:38 AM
|
0
|
0
|
926
|
|
POST
|
Map.ZoomToResolution does NOT zoom to the point you specify. It zooms "around" that point. Tthis is basically what happens when you mousewheel or dblclick. The point you clicked stays at the same place and everything else moves around it (try this in the corner of the map, and it will be obvious that it doesn't center on this point, but instead keeps that point under the mouse cursor). If you want to zoom to a point, create an Envelope that is centered on the point, and zoom to that. Ie. Center on MapPoint 'p' with 10 map units margin around it: MyMap.ZoomTo(new Envelope(p.X-10,p.Y-10,p.X+10,p.Y+10);
... View more
01-26-2011
07:35 AM
|
0
|
0
|
2527
|
|
POST
|
Oren Gal just posted a good blogpost on custom map cursors : http://www.gal-systems.com/2/post/2011/01/changing-the-map-mouse-cursor-in-a-silverlight-application.html
... View more
01-24-2011
03:59 PM
|
0
|
0
|
860
|
|
POST
|
As mentioned you NEED either a clientaccesspolicy.xml file on that server, or you need to use a proxy. If you don't do either of these things, it will NOT work with any Silverlight client. This is a browser/server security thing, and not something you can compare to using "Quantum GIS". Please read these blogs posts as well to better understand and debug the issue: http://blogs.esri.com/Dev/blogs/silverlightwpf/archive/2009/08/24/Troubleshooting-blank-layers.aspx http://blogs.esri.com/Dev/blogs/silverlightwpf/archive/2009/08/31/Using-services-across-schemes.aspx
... View more
01-24-2011
03:57 PM
|
0
|
0
|
1245
|
|
POST
|
You cannot pick individual layers from a cached service. If you want to only show a specific sublayer, you should use the ArcGISDynamicMapServiceLayer instead and set the VisibleIds to int[] { 30 }.
... View more
01-24-2011
03:50 PM
|
0
|
0
|
831
|
|
POST
|
Because the entire cluster set gets invalidated, the clusters needs to be completely re-rendered. This will cause a quick flicker. If you have data that frequently update, I suggest you don't use clustering (especially considering you said you only have 15 points)
... View more
01-24-2011
03:46 PM
|
0
|
0
|
1790
|
| Title | Kudos | Posted |
|---|---|---|
| 2 | 05-11-2026 07:05 AM | |
| 2 | 03-19-2026 06:03 PM | |
| 1 | 03-03-2026 04:41 PM | |
| 1 | 02-26-2018 07:53 AM | |
| 1 | 02-26-2018 07:51 AM |
| Online Status |
Offline
|
| Date Last Visited |
4 weeks ago
|