|
POST
|
A Basic license is free - you need to set a client ID in order to license an app that uses ArcGIS Runtime at the Basic level. You should be able to find the info you need in more detail in this help topic: http://developers.arcgis.com/android/guide/license-your-app.htm Regards, Shelly
... View more
04-15-2016
07:59 AM
|
0
|
2
|
783
|
|
POST
|
Hi Cesar, There's a help topic that discusses a few options for exactly this situation - Handle device configuration changes—ArcGIS Runtime SDK for Android | ArcGIS for Developers . Looks like you probably want to choose between options 1 and 2, depending on your specific requirements and what your app is doing. Hope this helps, Shelly
... View more
02-23-2016
07:10 AM
|
1
|
1
|
884
|
|
POST
|
I'm afraid that the Geopackage in the ArcGIS Runtime SDK for Android only supports WGS 84 (the WKID is 4326): GeopackageFeatureTable | ArcGIS Android 10.2.7 API
... View more
02-04-2016
04:01 AM
|
1
|
0
|
764
|
|
POST
|
As mentioned in the Readme file (arcgis-runtime-samples-android/README.md at master · Esri/arcgis-runtime-samples-android · GitHub ) you can get the sample data that works with this specific sample by downloading from ArcGIS Online: Download Basemap & Routing/Geocoding data from ArcGIS Online. If you want to use your own data, you can generate TPKs and offline geodatabases yourself - you can do this either on your device (services pattern) or using ArcGIS Desktop if you have that (Desktop pattern). I would start by reading this topic: Create an offline map—ArcGIS Runtime SDK for Android | ArcGIS for Developers Hope that helps, Shelly
... View more
01-25-2016
07:51 AM
|
1
|
0
|
1146
|
|
POST
|
Hi - thanks for posting your solution back here. Good point - I read that once a native library has been loaded, the same path will be used for other libraries as well... We are currently looking at providing specific x64 support in our upcoming Quartz release (no change in the Beta 1 currently though).
... View more
11-26-2015
02:35 AM
|
0
|
0
|
3286
|
|
POST
|
Hi, I'd expect running an app built with 10.2.7 on a 64bit Armv8 device (like your LG), from Android Studio, built with gradle using the AAR, would work OK. The 10.2.7 release does not include Armv8-specific libraries, but Arm v8 is backwardly compatible with Arm v7 (and Armv7 library is included in the AAR). We have tested that internally, so we need to figure out what's different in your situation. In the stack trace, the loadLibrary failure mentions paths `nativeLibraryDirectories=[/data/app/hdb.android-2/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libruntimecore_java.so` - which I'm not sure would be expected. A colleague pointed out to me this article with information about some problems loading native libraries when using different package managers. Can you confirm how you're loading the APK onto the device? (I would guess debugging via Android Studio but could be something else). Also maybe worth confirming which version of Android Studio you're running, and your development platform. > manual install with 10.2.5 and 10.2.7. I copied over all the .jar and .so files to the /lib folder and > update my gradle.build to compile the .jar If you're including .so directly (not using the AAR), then watch out for the paths you're using. In Android Studio the expected paths for native libraries are different to Eclipse. You can follow the same instructions for paths as described here for 'Add native libraries for analysis features' - for example '/src/main/jniLibs/armeabi-v7a/libruntimecore_java.so'. You could try changing your paths and see how you get on with manually including the libraries then. Regards, Shelly
... View more
11-24-2015
03:10 AM
|
0
|
2
|
3286
|
|
POST
|
I think you should be able to use an EditText in a callout to allow a user to add text, although I have not tried it I dont know any reason why that would not work just fine. You would then need to add a Graphic with that information to a GraphicsLayer, so you can show the marker at the location added. There is only one Callout per map so you would need to consider that when you code, and change the callout content when required. - text could be added as an attribute on the Graphic so that if the user clicks back on the point they added before, you can display that in the callout. However, when thinking about users entering text it would be more typical I think to simply show a text input UX in some other way, like a separate fragment or activity, or in a dialog that shows up over the activity that contains the map (especially on a small phone screen). The callout is typically used to display data, not for entering data. Also, you might want to think about how the information is saved after the user has entered it. If the data the users enter need to be saved just for themselves, you can persist the information yourself using the typical Android pattern. But if you want to save the information and make it available to other people, you could look instead at getting an AGOL subscription and making an editable feature service, and adding that as a FeatureLayer in your map, with popups.
... View more
05-29-2015
01:29 AM
|
1
|
1
|
1557
|
|
POST
|
It sounds like a callout suits your purposes. Callouts are normally shown when a user taps on a map, to show any kind of information you want to show - just call MapView.getCallout() to get the callout instance (there is only one callout for each map), set the View of the callout to show the info you want by calling setContent(View), then call show or animatedShow methods. If you tap on another location that doesnt have any information, you can just hide the callout by calling hide or animatedHide. Customize the callout—ArcGIS Runtime SDK for Android | ArcGIS for Developers If you want to show information about the features in the layers in your map (their attributes), when a user taps on the feature, you might want to look at using pop-ups instead - the easiest way to start using popups is by using MapViewHelper.createPopup method, that is part of the Application Toolkit: Application Toolkit for ArcGIS Android—ArcGIS Runtime SDK for Android | ArcGIS for Developers https://developers.arcgis.com/android/guide/view-pop-ups.htm If you want to show text permanently on the map (like a label), then you can do that as well: Add graphics and text—ArcGIS Runtime SDK for Android | ArcGIS for Developers Hope this helps, Shelly
... View more
05-26-2015
02:18 AM
|
2
|
3
|
1557
|
|
POST
|
Hi Keith, I think the problem is that if you try and hide the callout within the zoom listener, it's too late - the MapView has already taken care of temporarily hiding the callout (to prevent flickering and make it easier to use gestures on the map without the callout in the way). Check the MapView.getCallout().isShowing() - it will be false already. You can get in earlier however by using the MapOnTouchListener: MapOnTouchListener | ArcGIS Android 10.2.5 API Try setting one of these on your MapView, and then in the generic onTouch event, try your call to hide the callout there, e.g. : // In onCreate or somewhere suitable: MapTouchListener mMapTouchListener = new MapTouchListener(getApplicationContext(), map); map.setOnTouchListener(mMapTouchListener); // Define the touch listener class class MapTouchListener extends MapOnTouchListener { public MapTouchListener(Context context, MapView view) { super(context, view); } @Override public boolean onTouch(View v, MotionEvent event) { Log.i(TAG, "onTouch Before getCallout.hide: " + map.getCallout().isShowing()); map.getCallout().hide(); Log.i(TAG, "onTouch After getCallout.hide: " + map.getCallout().isShowing()); return super.onTouch(v, event); } } This should kick in before the zoom handling, so the callout will already be hidden before the MapView checks if it's shown to do the auto-hiding. Hope this helps,
... View more
05-05-2015
03:37 AM
|
0
|
0
|
988
|
|
POST
|
Hi Arnaud, The tutorial you referenced creates an ArcGISFeatureLayer from a feature service. The services you posted links to are map services. These two types of service are different things, and require a different type of layer class. You can check in the onStatusChanged callback e.g.: public void onStatusChanged(Object source, STATUS status) { if ((source instanceof ArcGISFeatureLayer) && (status == STATUS.LAYER_LOADING_FAILED)) { Log.e("Layer", "LAYER_LOADING_FAILED"); } However, you can still easily add your services to your map using the correct class - you should find the answers you are looking for in these help topics: Maps and layers—ArcGIS Runtime SDK for Android | ArcGIS for Developers Layer types—ArcGIS Runtime SDK for Android | ArcGIS for Developers Regards Shelly
... View more
04-21-2015
03:17 AM
|
0
|
0
|
675
|
|
POST
|
Sounds like you might want to use LocationDisplayManager.setAutoPanMode(AutoPanMode.COMPASS) - "Centers the map at the current location, rotates the map to align with the direction in which the device is currently, and shows the location symbol." - LocationDisplayManager.AutoPanMode | ArcGIS Android 10.2.5 API .
... View more
04-07-2015
02:01 AM
|
0
|
0
|
1027
|
|
POST
|
Hi, I can see from the rest endpoints that the two services in your example have different spatial references. Tiled layers cannot be reprojected, and the MapView cannot change it's spatial reference once it's set, so I am guessing that's why you cannot see the second layer. So if switching fragments does not work for you, you could try replacing the MapView entirely if you want to make a change like this one, or maybe you can use services which support the same spatial reference?
... View more
03-12-2015
07:20 AM
|
3
|
3
|
3419
|
|
POST
|
Hi, I think you should move your normalizeCentralMeridian call (and everything that depends on it) to your onMapStatusChanged event after you check for the status INITIALIZED - the map only has an extent and spatial reference set once it's initialized.
... View more
03-11-2015
06:23 PM
|
2
|
1
|
1073
|
|
POST
|
One thing that occured to me is for things like map service layers, the full extent is taken directly from the service endpoint. I have often seen that the extent advertised in the service does not reflect accurately the exact spatial extent of the visible parts of the data (maybe due to changes, maybe due to other things, I'm not sure why it's the case). So the first thing is I would check the endpoints of the services and see if they exactly match with the visible parts of the layers you're displaying.
... View more
10-30-2014
04:03 AM
|
0
|
0
|
1181
|
|
POST
|
Hi Luke, The setExtent method will set the current extent of the map - try looking at MapView.setMaxExtent method instead, to set the maximum boundary extent of the map. Alternatively, if you want to be able to show any layer at all, you could try adding a basemap layer that has global coverage. The MapView gets its maximum possible extent and also the possible zoom levels from the basemap layer (first added to the map), as you found, so a global basemap provides a base for anything you could add. Note it also sets the spatial reference of the map, so be careful if working with data in different spatial references. The Hello World Maps sample shows you how to do this in layout XML, or a number of samples demonstrate doing this programmatically (e.g. SwitchMaps sample).
... View more
10-29-2014
04:03 AM
|
0
|
2
|
1181
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 01-03-2024 10:08 AM | |
| 1 | 01-02-2024 08:09 AM | |
| 1 | 11-07-2023 01:44 AM | |
| 1 | 08-03-2018 03:54 AM | |
| 1 | 03-07-2017 02:12 AM |