POST
|
The LocatorTask constructor is if you have locator, either online or local (.loc style as built in Desktop or Pro). In your case, the locator is in the MMPK, so you first need to open the map package to access the locator. var mmpk = await MobileMapPackage.OpenAsync(path); var locatorTask = mmpk.LocatorTask;
... View more
10-13-2019
03:09 AM
|
0
|
0
|
860
|
POST
|
Just an idea: how about just creating a PictureMarkerSymbol which contains the end cap you want, and place that at the end points after the polyline graphic is created?
... View more
05-04-2019
01:13 PM
|
0
|
2
|
1513
|
POST
|
Thanks Rich. I shared the app and data with you via Dropbox. Don't hesitate to email me directly if you have questions or would like any additional info.
... View more
05-01-2018
03:50 PM
|
0
|
1
|
1182
|
POST
|
I’m experiencing an issue using Runtime with a Xamarin Forms TabbedPage. In my app, there is a TabbedPage which consists of 5 tabs. The map is loaded on the first tab. Navigating between any of the first 4 tabs work perfectly fine, and any time you navigate back to the map tab, the map in drawn instantly (no code, just works). However, navigating from the 5 th tab (or any tab after) back to the map tab shows the hatched background for a brief time, and then the map is redrawn. Doing this on an emulator will actually kill the entire emulator (Genymotion), not just the app. On a real device (both running Android 7), the app will be sluggish and eventually crash. The issue is better when using 100.1 as compared to 100.2.1, and often times the app won’t crash. Additionally, if the app does not crash, the map data is not completely refreshed when using 100.2.1, but it is fine when using 100.1. The same code works on iOS with no issues or sluggishness. I have a simple repro app and data (although the issue does not appear to be dependent on the data) if there’s any Esri folks who would able to assist. Reply with your email address and I’ll share the code and sample data on Dropbox. Thanks.
... View more
05-01-2018
09:25 AM
|
1
|
5
|
1596
|
POST
|
MapView Class There is a BackgroundColor property which seems to not be in the documentation.
... View more
11-08-2017
07:01 AM
|
0
|
1
|
1553
|
POST
|
Pretti, that worked, and no geometry was returned. I'll just have to code to handle online/offline a bit differently. I did notice the results returned almost immediately using this approach vs. just calling QueryFeaturesAsync(). Is that expected? Is the the most efficient way to query an online service? Thanks.
... View more
10-19-2017
09:37 AM
|
0
|
3
|
1242
|
POST
|
v100.1 Not using PopulateFromServiceAsync(), using QueryFeaturesAsync on the feature table. I can try that approach and let you know if you'd like.
... View more
10-19-2017
09:02 AM
|
0
|
5
|
1242
|
POST
|
I have a feature service that contains polygons. When I execute a query using QueryFeaturesAsync with QueryParameters that sets the ReturnGeometry = false I get an error: "Error performing query operation". If I do the same query using the REST API, I get the same error, unless I switch the query to not return geometries. We tracked this down because only certain queries will cause this issue. We think it has something to do with the shapes (maybe the # of vertices or true curves), but have not nailed it down yet. The issue though is that even for the queries that work, the return features still have the geometries, although the flag was set the false. This makes me think the flag is not being honored. Anyone else see this issue?
... View more
10-17-2017
05:30 PM
|
0
|
7
|
1382
|
POST
|
Hi Jennifer, I managed to track down my issue and wanted to let you and others know in case they encounter a similar issue. Basically, the layers I add to the map come from a configuration, so we don't know what or how many runtime content geodatabases will exist. So, in the simple example I provided you, we might have parcels, property data and centerline. But, if you use the following code, QueryRelatedFeaturesAsync will never return the relationships (opening the Gdb from within the for loop): //List of layers to add to the map
var layerList = new Dictionary<string, string> {
{ "Parcels", "palmbeach.geodatabase" },
{"condodata", "palmbeach.geodatabase" },
{"CENTERLINE", "centerline.geodatabase" },
{"propertydata", "palmbeach.geodatabase" },
{"SITUS_PUB", "palmbeach.geodatabase" }
};
//Iterate and add the layers
foreach (var layer in layerList) {
//Get the GDB path and open the geodatabase
string gdbPath = Path.Combine (ConfigurationManager.AppSnapshotsDirectory, layer.Value);
gdbPath = PathHelpers.CleanPath (gdbPath);
var gdb = await Geodatabase.OpenAsync (gdbPath);
//Get the table to add to the map
var table = gdb.GeodatabaseFeatureTable (layer.Key);
if (table != null) {
//Load the table and add to the map
await table.LoadAsync ();
if (table.HasGeometry) {
EsriMapView.Map.OperationalLayers.Add (new FeatureLayer (table));
} else {
EsriMapView.Map.Tables.Add (table);
}
}
} But, if you use the following code, which caches the geodatabase, then relationships will work: //List of layers to add to the map
var layerList = new Dictionary<string, string> {
{ "Parcels", "palmbeach.geodatabase" },
{"condodata", "palmbeach.geodatabase" },
{"CENTERLINE", "centerline.geodatabase" },
{"propertydata", "palmbeach.geodatabase" },
{"SITUS_PUB", "palmbeach.geodatabase" }
};
//Create a dictionary to cache the Gdb
var gdbList = new Dictionary<string, Geodatabase> ();
//Iterate and add the layers
Geodatabase gdb = null;
foreach (var layer in layerList) {
//Check for the Gdb in the list
if (!gdbList.ContainsKey (layer.Value)) {
//Get the GDB path and open the geodatabase
string gdbPath = Path.Combine (ConfigurationManager.AppSnapshotsDirectory, layer.Value);
gdbPath = PathHelpers.CleanPath (gdbPath);
gdb = await Geodatabase.OpenAsync (gdbPath);
//Add to the cache list of Gdb's
gdbList.Add (layer.Value, gdb);
} else {
gdbList.TryGetValue (layer.Value, out gdb);
}
//Get the table to add to the map
var table = gdb.GeodatabaseFeatureTable (layer.Key);
if (table != null) {
//Load the table and add to the map
await table.LoadAsync ();
if (table.HasGeometry) {
EsriMapView.Map.OperationalLayers.Add (new FeatureLayer (table));
} else {
EsriMapView.Map.Tables.Add (table);
}
}
} I guess I was thinking that the Geodatabase would be cached, but it doesn't appear to be the case. Is this expected behavior? Regardless, probably a bit better for performance this way so we don't have to open the geodatabase multiple times.
... View more
10-12-2017
06:37 AM
|
0
|
0
|
332
|
POST
|
Jennifer, I have to apologize, I see that your code is in fact working in iOS and Android, so something is not right in my code/logic. I'll continue to compare and get this figured out. Again, I apologize for wasting your time, and certainly appreciate your help. Thanks!!
... View more
09-26-2017
02:15 PM
|
0
|
2
|
1179
|
POST
|
Thanks Jennifer, the results seem correct, but it is different from what I'm seeing. Was your test with WPF or UWP? I have not tried in UWP, but Android and iOS were not showing the relationships. I can easily plug in your code into these platforms and see what I get. I'll report back once I have a chance to test. Thanks!
... View more
09-26-2017
01:23 PM
|
0
|
0
|
1179
|
POST
|
Thanks, I shared to geodatabase with you via Dropbox. Let me know if you don't get it.
... View more
09-25-2017
11:17 AM
|
0
|
5
|
1179
|
POST
|
Yes, all of the tables (2 feature layers and 1 table) are all part of the same map. The relationship infos exist, but using QueryRelatedFeaturesAsync doesn't return any records. I could share the geodatabase if that helps, but it's nothing complicated, just some parcel data I downloaded from the web for development and testing purposes. Thanks.
... View more
09-23-2017
05:24 AM
|
0
|
7
|
1179
|
Title | Kudos | Posted |
---|---|---|
1 | 09-20-2017 11:09 AM | |
1 | 09-22-2017 10:32 AM | |
1 | 06-20-2017 07:32 AM | |
1 | 04-07-2017 03:32 AM | |
3 | 12-19-2019 12:58 PM |
Online Status |
Offline
|
Date Last Visited |
07-01-2024
03:44 PM
|