POST
|
Hi Thomas, It is Swift. You can find it here - GitHub - jeffjax/cluster Feel free to send me any questions. Haven't looked at it in a while but happy to help out. Jeff
... View more
05-09-2017
08:13 AM
|
0
|
1
|
1501
|
POST
|
I've also built a clustering mechanism for graphics. Here's an example of it. I can share the code if there's interest.
... View more
04-03-2017
08:09 AM
|
0
|
3
|
1501
|
POST
|
One of the resources that helped me a lot was the Big Nerd Ranch. I strongly recommend both their books and their bootcamp training sessions. And as Al Pascual says the best way to get up to speed is to jump off the deep end. Build an app. When I went to the ranch I had already gone through iOS Programming: The Big Nerd Ranch Guide on my own and we were prototyping the Explorer application. So during labs and after hours I was able to engage the instructors with questions and pick their brains about best practices. One thing I didn't expect was how hard it was to transition to the Mac and Xcode. My initial feeling was that Xcode was a far cry from Visual Studio and the Mac was a black box OS. Of course that couldn't be further from the truth. I just needed some guidance and experience. Feel free to use the GeoNet community to ask questions. There are lots of valuable resources here. And check out Swift for sure. If you've programmed in C# you'll find it pretty similar.
... View more
08-01-2014
06:41 AM
|
2
|
0
|
478
|
POST
|
Actually, the AGSLocationDisplayInfoTemplateDelegate lets you customize the callout that is displayed when you tap the location indicator on the map. I would like to customize the location indicator itself. Jeff
... View more
04-01-2013
07:45 AM
|
0
|
0
|
295
|
POST
|
When you don't include the arcgis.bundle, you get a clean blue marker symbol when you display the gps location on the map. Is it possible to access that symbol or replace it? Thanks, Jeff
... View more
03-07-2013
12:08 PM
|
0
|
3
|
2811
|
POST
|
Antti, I love this solution! Very clean and works like a champ. Thanks for the tip. -Jeff
... View more
08-01-2012
05:30 AM
|
0
|
0
|
558
|
POST
|
Sheled, DependencyObject's don't provide a DataContext, but they can still participate in data binding so they work great in MVVM. The trick is to specify the Source in your binding statement. For a FrameworkElement there is an implicit source (the DataContext) but for a DependencyObject you have to declare it explicitly. There are different techniques to do this. In the following example, I declare the ViewModel as a resource in the View and then I can use the StaticResource approach:
<Window.Resources>
<local:MainViewModel x:Key="MainViewModel" />
</Window.Resources>
<Grid DataContext="{StaticResource MainViewModel}">
<esri:Map Extent="-14268281.1311858,2195120.17402859,-7232639.54776086,7467160.93387503">
<esri:ArcGISTiledMapServiceLayer Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer" />
<esri:GraphicsLayer ID="MyGraphicsLayer"
GraphicsSource="{Binding SearchResults, Source={StaticResource MainViewModel}}"/>
</esri:Map>
</Grid>
Hopefully that does the trick for you. /Jeff
... View more
07-31-2012
06:12 AM
|
0
|
0
|
558
|
POST
|
Keith, If you want to wire up a method on your ViewModel to some arbitrary event, then you need to use something like the InvokeCommandAction which is defined in System.Windows.Interactivity. Then you can generate a command using the CommandGenerator and you're set. In the case you describe though, you don't really need to use an event to determine if the ComboBox selection changes. You can simply bind to another property in your ViewModel instead. For example, your view ComboBox might be defined like this: <ComboBox ItemsSource="{Binding States}"
SelectedItem="{Binding CurrentState}"
Height="25"
Width="120"/> By binding to the SelectedItem property, the setter on you ViewModel property (CurrentState) will get called any time the selection changes. Hope that helps, Jeff
... View more
07-20-2012
12:46 PM
|
0
|
0
|
796
|
POST
|
I�??ve given the question of how to use the Draw object in an MVVM-friendly way some thought and tried a few different things. Here�??s my take on the cleanest solution (attached), though it�??s certainly got some blemishes�?� I agree with Cory�??s basic principle �?? that the Draw object makes sense as part of the ViewModel. So I declare it there and it�??s easy enough to create and use. The only question is how to get the Map set into it. For that I rely on an EventTrigger defined on the View�??s root Grid. An InvokeCommandAction lets me call a method on the ViewModel and pass in the map. <i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<i:InvokeCommandAction Command="{Binding ConverterParameter=SetMap, Converter={framework:CommandGenerator} }"
CommandParameter="{Binding ElementName=MyMap}" />
</i:EventTrigger>
</i:Interaction.Triggers> Then the SetMap method simply connects the map to the Draw object. The thing to watch out for when you �??cheat�?? like this is to make sure that the various methods on the ViewModel are still testable. /Jeff
... View more
05-17-2012
04:47 PM
|
0
|
0
|
796
|
POST
|
I was hoping to write a series of blog posts on blogs.esri.com but the new site doesn�??t do a good job formatting source code so I�??ve been waiting for some improvements before investing a lot of time on it. In the meantime, here�??s a sample MVVM application (attached) that shows how you can work around the fact that the Map control does not expose a dependency property for its Extent. The app shows a map of the US and lets you enter text and search for states. The results are displayed on the map and listed beside it. Clicking on a state in the list will zoom the map to its extent. This is made possible by an attached property defined in the static class MapHelpers and it specified in the View like this: <esri:Map local:MapHelpers.Extent="{Binding MapExtent}"> The attached property is straight forward. The only logic is in OnExtentPropertyChanged where the DependencyObject is cast to a Map so that ZoomTo can be called, passing in the NewValue. This implementation is very straight forward in that it only allows for one way binding �?? from the VM to the Map.( In some cases you might want a two-way binding such that when the end user zooms or pans the current extent of the map is propagated back to the VM. That is also possible by wiring into the Map�??s ExtentChanged property.) // note that I tried very hard to paste the code in question here // so you could see what i was talking about // but this lame resource center forum wouldn't allow it. Sheesh... Note that I didn�??t use the Map�??s Extent property to do the zooming. The ZoomTo method provides a nicer implementation, using a smooth animation when you zoom in or out. Let me know if this was helpful at all. Next I�??ll look into the elusive Draw object�?� /Jeff
... View more
05-17-2012
12:05 PM
|
0
|
0
|
796
|
POST
|
We ran into the same problems building ArcGIS Explorer Online with the ArcGIS Silverlight API, and most recently with the ArcGIS Viewer for Windows and the WPF API. I'm at the DevSummit this week (and actually doing a session on MVVM) so if you're around I'd love to talk with you about it. When I have some spare cycles I'll put together some thoughts on how we've approached MVVM and the Map control and post it back to this thread. -Jeff
... View more
03-26-2012
08:24 AM
|
0
|
0
|
796
|
POST
|
The update went live last night and the ability to find x,y coordinates is back. There are a few other enhancements. For example, Explorer Online now wraps the map across the international dateline. Check here for the complete list: http://help.arcgis.com/en/arcgisexplorer/help/#/What_s_new/015600000031000000/
... View more
08-05-2011
06:14 AM
|
0
|
0
|
381
|
POST
|
I just tried it and it's working properly for me. Check out the attached image. Perhaps the service was updated recently? -Jeff
... View more
07-23-2011
09:02 AM
|
0
|
0
|
273
|
POST
|
Yes, this capability went away with the latest release of Explorer Online, but it will be returning shortly. Look for it to come back in the next release which is target for the beginning of August. Sorry for the inconvenience, -Jeff
... View more
07-23-2011
08:57 AM
|
0
|
0
|
381
|
Title | Kudos | Posted |
---|---|---|
2 | 08-01-2014 06:41 AM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|