|
POST
|
We are building address search with auto suggest using v100 UWP. We are using a local locator. We noticed that Streets are returned when we request a Suggestion from the LocatorTask. By this, I mean streets names without street numbers (e.g. 103rd St., 104 St.). We also see addresses in our Suggestion list (i.e. street number + street name). The presence of Streets in Suggestion results causes a downstream issue because these Suggestions don't geocode. So, the user sees streets in the Suggestion list, but if they tap on one of these street names, they don't get a GeocodeResult, i.e. they don't get a 'hit'. We have done a lot of checking client-side, and in the back-end locator configuration and data as well. Is there a way for me to filter the suggestion list in the client by type of suggestion? My first instinct is to somehow remove the 'Street' entries from the Suggestions... Does the behavior I described point to an improperly configured Locator on the back end? Any ideas how to continue narrowing this down? I haven't been the hands-on person in Desktop, is it possible to test Locator Suggestions in ArcMap or ArcGIS Pro Screen shot here: Thanks -Cory
... View more
04-27-2017
10:30 AM
|
0
|
10
|
3886
|
|
POST
|
We recently encountered the same exception calling RegisterReplica using v100, UWP flavor. In an earlier project, we were successful sideloading the initial .geodatabase to devices and ensuring that RegisterReplica was called once prior to sync. However, we were using archiving, not versioning. I would be interested to hear other information on this topic. At the very least, it seems the doc could be improved. In our situation, we are dealing with fairly simple sync use cases. In the simplest case, sync works for us from Device 1 (no reg replica required). My understanding is that Device 2 can sync against same replica (hitting same version on back end). We also have additional options which are outlined in the doc, including creating a version per device. To clarify, I think we share the same requirement as the original poster of desiring a model which scales to potentially many users/devices, but allows sideload of the initial sync-able .geodatabase.
... View more
04-27-2017
10:16 AM
|
0
|
3
|
2303
|
|
POST
|
We are wondering if others are seeing this behavior/issue, whether or not this is a known issue in v100, if there are workarounds, and when fix is planned... We are seeing an issue where a v100 UWP map initialized from Mobile Map Package (mmpk) has a) different symbology and b) different layer scale ranges compared to both ArcGIS Pro and .geodatabase created in ArcMap (Create Runtime Content GP tool). The .geodatabase shows the 'Expected' symbology and scale ranges. Problem 1: underground structure layer -> junction box should appear as green rectangles on map. When we use mmpk, these features are not showing at all in the app (Figure 1). When we use .geodatabase (Figure 2), features are symbolized as green rectangles as expected (same as Pro). Problem 2: support structures --> poles : this layer should have scale dependency. When we use mmpk, the data draw at all scales (Figure 3). When we use straight .geodatabase, layer scale dependency behaves as expected (Figure 4), turning these data off when zoomed out beyond threshold scale. This is same as in Pro.
... View more
04-11-2017
05:54 AM
|
1
|
0
|
1167
|
|
POST
|
Thanks very much for the info. Looking forward to more goodness in Palm Springs.
... View more
02-27-2017
10:20 AM
|
0
|
0
|
2267
|
|
POST
|
Is PCL support something that we can expect in a future release? FWIW, this is the message I see when I try to install Esri.ArcGISRuntime.Xamarin.Forms for a Portable Class Library project: Could not install package 'Esri.ArcGISRuntime.Xamarin.Forms 100.0.0'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.6,Profile=Profile44', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
... View more
02-21-2017
11:07 AM
|
0
|
0
|
2267
|
|
POST
|
I agree with Chad. MMPK data will be read only. If you want to edit data you, you should use GenerateGeodatabase. Another angle is that the MMPK will only include vector data (I think I'm correct here). If you want a local (aka offline) basemap, you additionally need a TPK. I'm not 100% on all of this, and therefore happy if someone wants to confirm or correct me on either of the above points. BTW. I'm using ArcGIS Pro 1.3.1 to create my .mmpk files.
... View more
01-23-2017
08:55 AM
|
0
|
0
|
1322
|
|
POST
|
Here is something that works. I haven't worked out which steps are essential, but it does seem to work. if (MapViewModel.Map != null) { MapViewModel.Map.OperationalLayers.Clear(); // just sets Geodatabase references to null _geodatabaseFactoryService.ReleaseGeodatabases(); GC.Collect(); GC.WaitForPendingFinalizers(); }
... View more
01-23-2017
07:51 AM
|
0
|
0
|
534
|
|
POST
|
Hi, I'm getting an exception "data_source is already owned" when create a FeatureLayer from a local FeatureTable. In my situation I had already created another FeatureLayer (in another Map) based on the same FeatureTable. I believe this relates to .geodatabase locking. I have just begun investigating, but I am curious if anyone else is setting this, and more importantly if there are known steps to avoid this. Thanks, -Cory
... View more
01-23-2017
06:48 AM
|
0
|
1
|
863
|
|
POST
|
One way to solve this problem is to draw your data in multiple layers in the runtime Map. In your example you have 5 symbols, so you draw these 'in order' using 5 layers. You'll need to specify a filter/definition query for each layer to only draw the 1 symbol. Make sure to add the layers to the Map in the order in which you want the symbols to draw. Using this approach should work.
... View more
01-09-2017
07:18 AM
|
0
|
0
|
1951
|
|
POST
|
did you do this inside your Hyperlink_RequestNavigate? e.Handled = true; re: my question about moving/dragging the overlay. the more I consider it, that may just be how overlays work. not sure. In Windows Store, I do see that these events fire when I drag the overlay: PointerPressed, PointerRelease. I might be able to handle these events and create a new anchor point for the overlay where on PointerRelease... I didn't try that... but I suspect that the map will pan underneath, even if I do this.
... View more
02-04-2016
11:41 AM
|
0
|
1
|
1685
|
|
POST
|
We have a Windows Store + ArcGIS Runtime 10.2.6 app. We have a UserControl which we're displaying as an MapView overlay popup. Based on the info in this thread, we have solved the 'click through' issue we were seeing with the Button Tapped event passing through to the MapView... ... but we have been unable to prevent the MapView from zooming when end user drags the popup window while holding down their mouse/finger. We have checked to see which UIElement events are triggered, and then handled these... but none seem to do the trick. The MapView still pans when the user moves the popup. We want to allow the user to move the popup without panning the map. How can we fix this? Any pointers in the right direction (puns intended)? Could the anchor point somehow be involved here? Does the action of the user 'moving the popup' somehow 'move the map with it' because the anchor is being respected?@ Thx, -Cory
... View more
02-04-2016
10:28 AM
|
0
|
1
|
1685
|
|
POST
|
Here is what I found for this. 1. Use MapView.getDrawingMapCache() to get a bitmap from your MapView. 2. Add the bitmap to an android PdfDocument and print it using the native android print API This link goes into great detail about your options for this: An Android Custom Document Printing Tutorial -Cory
... View more
10-28-2014
06:40 AM
|
0
|
0
|
767
|
|
POST
|
Hi, I'm looking for any documentation, Esri or otherwise, that could help me understand how best to approach developing a tool to create a .pdf and/or print an Esri Android map control. Esri has a native .NET sample that demonstrates client printing, but there are quite a few gotchas in applying that approach to Android...I think the general approach of creating taking the on-screen MapView and creating from that a printable MapView translates pretty well. However, the next steps in the .NET sample delegates control to the System PrintDialog which ain't gonna get me too far. I am interested in, primarily, generating a .pdf from the MapView. Secondarily, I am also interested in standard approaches for actually printing to a printer. I have done a bit of poking, and finding zero specific to Esri. I am interested in client solutions that will work without a connection to an ArcGIS Server print service. Thanks, -Cory
... View more
10-27-2014
02:47 PM
|
0
|
1
|
3576
|
|
POST
|
I would like to load network features (e.g. facilities, point barriers). I cannot get 'load using network fields' to work (I can load based on geometry, but this isn't what I want). I am using the exact code from (below) from this .NET help topic. I am using 10.2. How to load data into a network analysis problem http://resources.arcgis.com/en/help/...023q000000.htm rowsLocated is always coming back as 0. rowsIn shows that there are indeed rows in my input cursor. I have tried on a couple feature classes, but always the same result. Any ideas what could cause this to not work? I can load from the same feature classes using ArcMap. Works fine. I'm not doing anything with GP Thanks, -Cory public void LoadAnalysisObjectsByField(ESRI.ArcGIS.Geodatabase.ITable inputClass,
string naClassName, ESRI.ArcGIS.NetworkAnalyst.INAContext naContext)
{
// Both Initialize and Load take a cursor from the input class
ESRI.ArcGIS.Geodatabase.ICursor cursor = inputClass.Search(null, false)as
ESRI.ArcGIS.Geodatabase.ICursor;
ESRI.ArcGIS.NetworkAnalyst.INAClassLoader2 naClassLoader = new
ESRI.ArcGIS.NetworkAnalyst.NAClassLoaderClass();
naClassLoader.Initialize(naContext, naClassName, cursor);
// Store the current set of locator agents, so they can be added back later
int agentCount = naContext.Locator.LocatorAgentCount;
var listOfAgents = new System.Collections.Generic.List <
ESRI.ArcGIS.NetworkAnalyst.INALocatorAgent > ();
for (int locIndex = 0; locIndex < agentCount; locIndex++)
listOfAgents.Add(naContext.Locator.get_LocatorAgent(locIndex));
// Remove the existing locator agents from the locator
// This for loop is done in reverse order, because agents are being removed as the loop executes
for (int locIndex = agentCount - 1; locIndex >= 0; locIndex--)
naContext.Locator.RemoveLocatorAgent(locIndex);
// Create and add a fields agent
var fieldsAgent = new
ESRI.ArcGIS.NetworkAnalyst.NALocatorLocationFieldsAgentClass()as
ESRI.ArcGIS.NetworkAnalyst.INALocatorLocationFieldsAgent2;
// Set the field names appropriately based on input data and NAClass
var naClass = naContext.NAClasses.get_ItemByName(naClassName)as
ESRI.ArcGIS.NetworkAnalyst.INAClass;
var naFeatureClass = naClass as ESRI.ArcGIS.Geodatabase.IFeatureClass;
// Check to see if the NAClass is of type NALocation or NALocationRanges
ESRI.ArcGIS.esriSystem.UID naLocationFeatureUID = new
ESRI.ArcGIS.esriSystem.UIDClass();
naLocationFeatureUID.Value = "esriNetworkAnalyst.NALocationFeature";
ESRI.ArcGIS.esriSystem.UID naLocationFeatureRangesUID = new
ESRI.ArcGIS.esriSystem.UIDClass();
naLocationFeatureRangesUID.Value = "esriNetworkAnalyst.NALocationRangesFeature";
if (naFeatureClass.CLSID.Compare(naLocationFeatureUID))
{
// The field names listed below are the names used in ArcGIS Network Analyst extension classes to represent NALocations.
// These are also the names of fields added by the CalculateLocations geoprocessing tool
fieldsAgent.OIDFieldName = "SourceOID";
fieldsAgent.SourceIDFieldName = "SourceID";
fieldsAgent.PositionFieldName = "PosAlong";
fieldsAgent.SideFieldName = "SideOfEdge";
}
else if (naFeatureClass.CLSID.Compare(naLocationFeatureRangesUID))
{
// The location ranges input field must be of type BLOB
fieldsAgent.LocationRangesFieldName = "Locations";
var blobField = inputClass.Fields.get_Field(inputClass.FindField
(fieldsAgent.LocationRangesFieldName));
if (blobField.Type !=
ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeBlob)
{
System.Windows.Forms.MessageBox.Show(
"Loading location ranges by field requires a blob field");
return ;
}
}
naContext.Locator.AddLocatorAgent(fieldsAgent as
ESRI.ArcGIS.NetworkAnalyst.INALocatorAgent);
// After Loading is complete, the rowsIn and rowsLocated variable can be used to verify
// that every row from the input feature class has been loaded into the network analysis class
int rowsIn = 0;
int rowsLocated = 0;
naClassLoader.Load(cursor, null, ref rowsIn, ref rowsLocated);
// Now remove the custom fields agent and add back the stored agents
naContext.Locator.RemoveLocatorAgent(0);
foreach (var agent in listOfAgents)
naContext.Locator.AddLocatorAgent(agent);
}
... View more
10-10-2013
11:42 AM
|
0
|
2
|
1137
|
|
POST
|
Network Analyst, C# ArcObjects I would like to load network features (e.g. facilities, point barriers). I cannot get 'load using network fields' to work (I can load based on geometry, but this isn't what I want). I am using the exact code from (below) from this .NET help topic. I am using 10.2. How to load data into a network analysis problem http://resources.arcgis.com/en/help/arcobjects-net/conceptualhelp/0001/00010000023q000000.htm rowsLocated is always coming back as 0. rowsIn shows that there are indeed rows in my input cursor. I have tried on a couple feature classes, but always the same result. Any ideas what could cause this to not work? I can load from the same feature classes using ArcMap. Works fine. I'm not doing anything with GP Thanks, -Cory public void LoadAnalysisObjectsByField(ESRI.ArcGIS.Geodatabase.ITable inputClass,
string naClassName, ESRI.ArcGIS.NetworkAnalyst.INAContext naContext)
{
// Both Initialize and Load take a cursor from the input class
ESRI.ArcGIS.Geodatabase.ICursor cursor = inputClass.Search(null, false)as
ESRI.ArcGIS.Geodatabase.ICursor;
ESRI.ArcGIS.NetworkAnalyst.INAClassLoader2 naClassLoader = new
ESRI.ArcGIS.NetworkAnalyst.NAClassLoaderClass();
naClassLoader.Initialize(naContext, naClassName, cursor);
// Store the current set of locator agents, so they can be added back later
int agentCount = naContext.Locator.LocatorAgentCount;
var listOfAgents = new System.Collections.Generic.List <
ESRI.ArcGIS.NetworkAnalyst.INALocatorAgent > ();
for (int locIndex = 0; locIndex < agentCount; locIndex++)
listOfAgents.Add(naContext.Locator.get_LocatorAgent(locIndex));
// Remove the existing locator agents from the locator
// This for loop is done in reverse order, because agents are being removed as the loop executes
for (int locIndex = agentCount - 1; locIndex >= 0; locIndex--)
naContext.Locator.RemoveLocatorAgent(locIndex);
// Create and add a fields agent
var fieldsAgent = new
ESRI.ArcGIS.NetworkAnalyst.NALocatorLocationFieldsAgentClass()as
ESRI.ArcGIS.NetworkAnalyst.INALocatorLocationFieldsAgent2;
// Set the field names appropriately based on input data and NAClass
var naClass = naContext.NAClasses.get_ItemByName(naClassName)as
ESRI.ArcGIS.NetworkAnalyst.INAClass;
var naFeatureClass = naClass as ESRI.ArcGIS.Geodatabase.IFeatureClass;
// Check to see if the NAClass is of type NALocation or NALocationRanges
ESRI.ArcGIS.esriSystem.UID naLocationFeatureUID = new
ESRI.ArcGIS.esriSystem.UIDClass();
naLocationFeatureUID.Value = "esriNetworkAnalyst.NALocationFeature";
ESRI.ArcGIS.esriSystem.UID naLocationFeatureRangesUID = new
ESRI.ArcGIS.esriSystem.UIDClass();
naLocationFeatureRangesUID.Value = "esriNetworkAnalyst.NALocationRangesFeature";
if (naFeatureClass.CLSID.Compare(naLocationFeatureUID))
{
// The field names listed below are the names used in ArcGIS Network Analyst extension classes to represent NALocations.
// These are also the names of fields added by the CalculateLocations geoprocessing tool
fieldsAgent.OIDFieldName = "SourceOID";
fieldsAgent.SourceIDFieldName = "SourceID";
fieldsAgent.PositionFieldName = "PosAlong";
fieldsAgent.SideFieldName = "SideOfEdge";
}
else if (naFeatureClass.CLSID.Compare(naLocationFeatureRangesUID))
{
// The location ranges input field must be of type BLOB
fieldsAgent.LocationRangesFieldName = "Locations";
var blobField = inputClass.Fields.get_Field(inputClass.FindField
(fieldsAgent.LocationRangesFieldName));
if (blobField.Type !=
ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeBlob)
{
System.Windows.Forms.MessageBox.Show(
"Loading location ranges by field requires a blob field");
return ;
}
}
naContext.Locator.AddLocatorAgent(fieldsAgent as
ESRI.ArcGIS.NetworkAnalyst.INALocatorAgent);
// After Loading is complete, the rowsIn and rowsLocated variable can be used to verify
// that every row from the input feature class has been loaded into the network analysis class
int rowsIn = 0;
int rowsLocated = 0;
naClassLoader.Load(cursor, null, ref rowsIn, ref rowsLocated);
// Now remove the custom fields agent and add back the stored agents
naContext.Locator.RemoveLocatorAgent(0);
foreach (var agent in listOfAgents)
naContext.Locator.AddLocatorAgent(agent);
}
... View more
10-10-2013
11:37 AM
|
0
|
0
|
660
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 04-11-2017 05:54 AM |
| Online Status |
Offline
|
| Date Last Visited |
05-08-2025
01:28 PM
|