|
发表帖子
API/SDK版本号: |
API24,SDK 7.0 |
产品: |
3D地图 |
手机型号: |
模拟器 |
使用接口: |
|
- package guide.test.test;
- import android.content.Context;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.app.Activity;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.CheckBox;
- import android.widget.CompoundButton;
- import com.amap.api.maps.AMap;
- import com.amap.api.maps.MapView;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- public class AMapActivity extends Activity {
- //MapView mMapView = null;
- private MapView mapView;
- private AMap aMap;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_amap);
- mapView = (MapView) findViewById(R.id.map);
- //此处模拟器下崩溃,闪退
- <font color="Red">mapView.onCreate(savedInstanceState);// 此方法必须重写</font>
- }
- @Override
- protected void onDestroy() {
- super.onDestroy();
- //在activity执行onDestroy时执行mMapView.onDestroy(),销毁地图
- mapView.onDestroy();
- }
- @Override
- protected void onResume() {
- super.onResume();
- //在activity执行onResume时执行mMapView.onResume (),重新绘制加载地图
- mapView.onResume();
- }
- @Override
- protected void onPause() {
- super.onPause();
- //在activity执行onPause时执行mMapView.onPause (),暂停地图的绘制
- mapView.onPause();
- }
- @Override
- protected void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- //在activity执行onSaveInstanceState时执行mMapView.onSaveInstanceState (outState),保存地图当前的状态
- mapView.onSaveInstanceState(outState);
- }
- }
- <font size="6" color="Red"><b>logcat:
- </b><font size="4"><font color="Black">07-03 07:58:24.365 2285-3234/guide.test.test W/System.err: java.lang.IllegalArgumentException
- 07-03 07:58:24.366 2285-3234/guide.test.test W/System.err: at com.google.android.gles_jni.EGLImpl._eglCreateContext(Native Method)
- 07-03 07:58:24.366 2285-3234/guide.test.test W/System.err: at com.google.android.gles_jni.EGLImpl.eglCreateContext(EGLImpl.java:54)
- 07-03 07:58:24.366 2285-3234/guide.test.test W/System.err: at com.amap.api.mapcore.util.de$b.createContext(GLESUtility.java:184)
- 07-03 07:58:24.366 2285-3234/guide.test.test W/System.err: at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1042)
- 07-03 07:58:24.366 2285-3234/guide.test.test W/System.err: at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1416)
- 07-03 07:58:24.366 2285-3234/guide.test.test W/System.err: at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1253)
- 07-03 07:58:24.367 2285-3234/guide.test.test E/AndroidRuntime: FATAL EXCEPTION: GLThread 101
- Process: guide.test.test, PID: 2285
- java.lang.RuntimeException: createContext failed: EGL_SUCCESS
- at android.opengl.GLSurfaceView$EglHelper.throwEglException(GLSurfaceView.java:1205)
- at android.opengl.GLSurfaceView$EglHelper.throwEglException(GLSurfaceView.java:1196)
- at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1046)
- at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1416)
- at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1253)
- 唯一能看到的相关说明就是文档里下面这段话,但是没有实质意义,只是告诉了原理
- </font></font></font>
- <p>地图 SDK 底层运用两种 OpenGL ES 组件构建地图,分别是 GLSurfaceView 和 TextureView,如果您对本节内容不感兴趣,可直接略过此节阅读第四步。</p><h4>GLSurfaceView:</h4><p>包括 MapView、MapFragment、SupportMapFragment 三种容器。下面简单介绍一下 <span class="red"><strong>SupportMapFragment:</strong></span></p><p>MapFragment
- 是 Android Fragment 类的一个子类,用于在 Android Fragment 中放置地图。 MapFragment
- 也是地图容器,与 MapView 一样提供对 AMap 对象(地图的控制类)的访问权。与 MapView 相比
- SupportMapFragment 方便之处在于其可以更好的管理地图的生命周期,布局灵活。</p><h4>TextureView:</h4><p>包括TextureMapView、TextureMapFragment、TextureSupportMapFragment 三种容器。</p><p><span class="red">使用场景:您将MapView与其他的GLSurfaceView(比如相机)叠加展示,或者是在ScrollView中加载地图时,建议使用TextureMapView及SupportTextureMapFragment来展示地图,可以有效解决
- GLSurfaceView 叠加时出现的穿透、滚动黑屏等问题。</span>篇幅有限,如果您感兴趣的话,以上6种地图容器的构造均可在<a href="http://lbs.amap.com/api/android-sdk/download/" class="" target="">官方示例代码</a>中找到具体的使用方法。</p>
复制代码
|
|