POST
|
Saw the application crashing on rotation of tablet(if MapView is inside the fragment) with older NDK libraries. With the new NDK library the application does not crash. [ATTACH=CONFIG]16819[/ATTACH] Unfortunately the mapview still doesn't survive a FragmentTransaction... 11-08 10:54:12.140: I/MapCore(3253): TexturesManager::releaseGraphicsHardwareResources 11-08 10:51:59.980: E/MapCore(3148): TexturesManager::bindTexture FAILED, textureId = 8 out of range or not valid; m_texturesData.size = 11-08 10:54:19.050: I/DEBUG(105): #00 pc 00211a62 /data/data/nl.kragten.android.knopenlopen/lib/libGLMapCore.so (_ZN6ArcGIS7Runtime4Core21SeqRenderBiColorPoint14startRenderingEPvRNS1_18VertexSequenceModeERSt6vectorIjSaIjEEPKNS1_7TextureEPNS1_24GraphicDisplayPropertiesERNS1_17SVerticesSequenceENS1_10RenderModeE) Also there is a memory leak, every time you rotate, memory usage will increase. Any workarounds or solutions? Is there a planned release date for the next version of the sdk? Thanks!
... View more
11-08-2012
12:12 AM
|
0
|
0
|
1147
|
POST
|
The MapView have a very strange behavior. For example, removing a Fragment which contains a MapView using FragmentTransaction will cause the app to crash with the "call to OpenGL ES API with no current context (logged once per thread)" error. The same error also happens when trying to remove a MapView from its parent (see this post : http://forums.arcgis.com/threads/57684-activity-gets-killed-when-the-mapview-is-disposed). It is too bad that we have to use android:configChanges="orientation" to handle the MapView. This is not a recommended practice. I wonder why the MapView behaves this way? I have other types of View in my app (TextView, LiostView) and they don't cause the same problem. I'm still having the same problem. I've contacted support about this issue. They are working on it, but it seems to be a complicated problem. I was also using the mapview in a fragment. I made the remove view sample to show where the problem arises. (In the previous api release there was a bug when the back button was pressed. Graphics layers wouldn't show up when the activity was shown again. I solved this by ending the process in code when the back button was pressed in the map activity. This problem was solved in the 1.1.1 release, but somehow it now looks like the whole process is killed when the mapview gets garbage collected.) Unfortunately I couldn't find a workaround for this behavior.
... View more
06-17-2012
11:02 PM
|
0
|
0
|
272
|
POST
|
To answer this question I need to know wich version of arcgis you are using (9.3 or 10.X)? Are you trying to do this in an Arcgis engine application or in a custom tool for arcmap. There are a few diferences, but I think I have a few examples. I've been struggling with this in the past and it took me a while to figure this out. If you can give me some more details on what you are trying to do to make a feature or geometry flash, I can help you with that. Regards Gwen.
... View more
05-16-2012
01:07 AM
|
0
|
0
|
232
|
POST
|
I've had the same problem. You are not doing anything wrong. It was a bug in the sdk. I solved this by forcing the activity proces to close in onDestroy(). When you start a fresh activity this problem doesn't happen. However this problem is solved in the newer api releases (v1.1 and V1.1.1). There are some other lifecycle issues, but these may not be problematic in your application. So I suggest updating to V1.1.1 Regards Gwen.
... View more
05-16-2012
12:39 AM
|
0
|
0
|
366
|
POST
|
Thank you for your answer. But is there any way to caculate length from point A to point B? Yes there is a way. The MapView class has a function toMapPoint(float screenx, float screeny). You could use this function to determine the real distance between two points, and use it to draw a scalebar yourself. calculating the length itself: Point strtPoint = mapview.toMapPoint(screenX1, screenY1); Point endPoint = mapview.toMapPoint(screenX2, screenY2); Line line = new Line(); line.setStart(strtPoint); line.setEnd(endPoint); double length = line.calculateLength2D(); Regards Gwen
... View more
05-15-2012
11:39 PM
|
0
|
0
|
536
|
POST
|
I solved this problem by writing a few functions to write features into an sqlite database. I also made a tool for arcmap with C# to convert those records back to features on my desktop. However I have only used this for Points. So the only thing i needed to store in the database where the x and y for the geometry. When you also need to store lines, polylines or polygons, you will need to now how to store them in a database. To store this in a sqlite database there are several ways. I found decent information to do this on the website of the "open geospatial consortium" (http://www.opengeospatial.org/standards/is) in the document "OpenGIS Implementation Specification for Geographic information - Simple feature access - Part 2: SQL option", you will find the information you need on how to store geometry as text inside a database. Unfortunately there is no way to export features to the sdcard out of the box. And writing classes to store geometry that is more complex than points will take a lot of work. This should give you a good start, but I won't recommend this solution for complex geometry. For complex geometry it is easier to serialize the objects, export them, and then put them back together on your desktop. Regards Gwen
... View more
05-15-2012
11:19 PM
|
0
|
0
|
193
|
POST
|
I am using a Samsung Galaxy tab10.1 with android 3.2. The memory status before the app gets killed is around 314MB/724. I have no task killer installed on the device. (The device has default samsung settings, and it's used for development only.) The problem is that when the fragment with the mapview is replaced, the whole activity is killed. It's supposed to show an other fragment in the same activity. When the fragment is needed again it should recreate it's resources. To make sure where the problem arises I tried the following: I made a function with the following code... LinearLayout parent = (LinearLayout)mapview.getParent(); parent.removeView(mapview); System.gc(); When this function is called, the app gets killed without going to onPause(), onStop() or onDestroy(). (the mapview is initialized and showing, it only contains an ArcgisLocalTiledLayer and a Graphicslayer) the last thing logcat shows is: 05-16 08:38:46.330: E/libEGL(3132): call to OpenGL ES API with no current context (logged once per thread) The only explanation I have for this behaviour, is that the mapview destroys the proces on wich the main activity runs when it is disposed. Because of this, I can't use the activity or fragment lifecycle how it's supposed to be used. Is there a way to stop this behaviour? Or is this something that needs to change in the api? Thanks Kind regards, Gwen
... View more
05-15-2012
10:52 PM
|
0
|
0
|
1147
|
POST
|
Hi, my activity gets killed when the mapview is disposed. I have an activity that uses the fragment api. When there is a mapview on a fragment that is no longer necessary, the whole activity gets killed. The last thing I can see in LogCat is: 05-15 14:51:18.490: W/EglHelper(3685): finish() tid=10 05-15 14:51:18.490: I/GLMapCore(3685): TexturesManager::releaseGraphicsHardwareResources 05-15 14:51:18.490: E/libEGL(3685): call to OpenGL ES API with no current context (logged once per thread) after that the activity disappears without a trace. When I remove the mapview from the fragment, everything works. Something I noticed in my apps is that the activity is always killed immediately, when the activity isn't active. Other activities without a mapview don't have this behaviour. This also kills the activity when I rotate the device. Any solution for this problem? Or am i doing something wrong? kind regards, Gwen
... View more
05-15-2012
05:32 AM
|
0
|
8
|
3573
|
POST
|
I have a problem with the new api release (v1.1) Setting the outline of a SimpleMarkerSymbol has no effect. In the previous api release there was a default outline. Now when i try to set one (example is graphicsLayer): SimpleMarkerSymbol symbol = new SimpleMarkerSymbol(Color.CYAN, 100, STYLE.CROSS); symbol.setOutline(new SimpleLineSymbol(Color.BLACK, 4f, com.esri.core.symbol.SimpleLineSymbol.STYLE.SOLID)); myLayer.addGraphic(new Graphic(myPoint, symbol)); There is no outline. You almost can't even see the cross because it is only 1px wide. this also doesn't work for the STYLE.CIRCLE, and the other styles I tried. Because of this, you can barely the marker in my office, let alone in bright daylight. Is there a solution/workaround for this problem? Or a way to set the outline for the whole layer? Thanks.
... View more
05-02-2012
09:57 PM
|
0
|
0
|
328
|
POST
|
I agree. They released the 1.1 api, and they made things worse. I just found out the LocalTiledLayer isn't working anymore (also doesn't work in their own example). (see http://forums.arcgis.com/threads/56148-LocalTiledLayer-NOT-working-in-v1.1-API-Update) A changelog with bugfixes and code changes is also nowhere to be found. (and I didn't mean the small list with 10 entries in the documentation) My experience with support is that they wait for the problem to solve itself, or just blame something or someone else. A solution for a problem was never presented in my cases. I always found those on the forums. unfortunately some of those threads are still waiting for support for over 4 years now. Some problems are caused by the lack of maintained documentation. Others by the use of bad programming habits. It is a shame they don't spend as much resources to their support and develloping teams, as they do with their marketing team. Their marketing team is something many companies would be jealous of. Support however... Is the cause of the frustration for so many of us. Kind regards.
... View more
04-25-2012
01:34 AM
|
0
|
0
|
420
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|