自2018年10月18日起,高德开发者论坛除车机板块外,其他板块将停止发帖与维护,如您有使用问题请 提交工单 联系我们,感谢您的理解。

查看: 655|回复: 10
打印 上一主题 下一主题

[已解决]室内地图问题!

[复制链接]
最佳答案
1 

10

主题

24

帖子

92

积分

新手上路

Rank: 1

积分
92
跳转到指定楼层
楼主
发表于 2016-3-12 22:09:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有2个activity,首页跳转到室内地图页,室内地图页mIndoorManager.requestIndoorData(this, false); 下载了室内地图之后成功显示,但是室内地图页返回首页,室内地图页finish();      然后再从首页跳转到室内地图页,就会发现IndoorMapView mMapView这个控件中无法显示出室内地图了,一片灰色,并出现以下信息:                     PS:顺便再请问如何改变IndoorMapView 的背景颜色,它现在是灰色的,想要变成白色


03-12 21:51:33.356: W/System.err(25739): java.io.FileNotFoundException: indoor3d_custom/indoor_colors.json
03-12
21:51:33.357: W/System.err(25739):         at android.content.res.AssetManager.openAsset(Native Method)
03-12
21:51:33.357: W/System.err(25739):         at android.content.res.AssetManager.open(AssetManager.java:334)
03-12
21:51:33.357: W/System.err(25739):         at android.content.res.AssetManager.open(AssetManager.java:308)
03-12
21:51:33.357: W/System.err(25739):         at com.gaode.indoormap.util.FileUtil.readIndoor3DFileStr(FileUtil.java:223)
03-12 21:51:33.357: W/System.err(25739):         at com.gaode.indoormap.util.FileUtil.readIndoor3DFileStr
(FileUtil.java:208)
03-12 21:51:33.357: W/System.err(25739):         at
com.gaode.indoormap.mapview.JniGLMapRenderer.onSurfaceChanged(JniGLMapRenderer.java:55)
03-12 21:51:33.357:
W/System.err(25739):         at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1511)
03-12
21:51:33.357: W/System.err(25739):         at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1239)

03-12 21:51:33.620: W/Adreno-ES20(25739): <__load_uniform_matrix:1091>: GL_INVALID_OPERATION




回复

使用道具 举报

最佳答案
1 

10

主题

24

帖子

92

积分

新手上路

Rank: 1

积分
92
沙发
 楼主| 发表于 2016-3-12 22:12:54 | 只看该作者
补充:
室内地图下载就用了这个方法mIndoorManager.requestIndoorData(this, false);
其他都没用,是不是还要使用其他方法?
回复 支持 反对

使用道具 举报

最佳答案
1 

10

主题

24

帖子

92

积分

新手上路

Rank: 1

积分
92
板凳
 楼主| 发表于 2016-3-13 15:30:09 | 只看该作者
MallData data = new MallData("B000A856LJ", "B000A856LJ");
                mIndoorManager = IndoorDataManager.CreateDataManager(data);
                mIndoorManager.setIndoorFolderPath("/mnt/sdcard/map/");
                String path = mIndoorManager.getIndoorFolderPath();
                mIndoorManager.addIndoorDataListener(new IndoorDataListener() {
                        @Override
                        public void loadingStart() {

                        }

                        @Override
                        public void loadingError(int arg0, String arg1) {

                        }

                        @Override
                        public void loadingEnd(int arg0, IndoorBuilding arg1) {

                        }
                });
                mMapView.setMapDataListener(new IndoorDataListener() {
                        @Override
                        public void loadingStart() {

                        }

                        @Override
                        public void loadingError(int arg0, String arg1) {

                        }

                        @Override
                        public void loadingEnd(int arg0, IndoorBuilding arg1) {
                                Handler handler = new Handler(Looper.getMainLooper());
                                handler.postAtTime(new Runnable() {
                                        @Override
                                        public void run() {
                                                float scale = mMapView.setScale(0.0f);

                                                mMapView.updateLoc(userX, userY, userFloorID);
                                                Log.v("wmh", "MainFragment.loadingEnd scale=" + scale);
                                                PointD point = mMapView.getCenterToLocationXY();
                                                if (point != null) {
                                                        Log.v("wmh", "MainFragment.loadingEnd x=" + point.x + ",y=" + point.y);
                                                } else {
                                                        Log.v("wmh", "MainFragment.loadingEnd point is NULL");
                                                }
                                        }
                                }, 2000);
                                List<FloorInfo> floorList = mMapView.getFloorList();
                                for(int i = 0;i < mViewList.size();i++){
                                        final FloorInfo fi = floorList.get(i);
                                        View v = mViewList.get(i);
                                        v.setOnClickListener(new OnClickListener() {
                                               
                                                @Override
                                                public void onClick(View v) {
                                                        mMapView.loadMapFloor(fi.fl_index);
                                                }
                                        });
                                }
                        }
                });
                mMapView.setDataManager(mIndoorManager);
                mIndoorManager.clearCurrentCache();
                mIndoorManager.requestIndoorData(this, false);
回复 支持 反对

使用道具 举报

最佳答案
94 

11

主题

178

帖子

1048

积分

超级版主

Rank: 8Rank: 8

积分
1048
地板
发表于 2016-3-16 15:46:34 | 只看该作者
您好,非常感谢您对高德室内地图的关注。

您找找如下代码:是用来设置背景色的。

#define CLEAR_COLOR GLKVector4fMake(239/255.0f,239/255.0f,239/255.0f,1.0f) //室内背景色,画板颜色
回复 支持 反对

使用道具 举报

最佳答案
1 

10

主题

24

帖子

92

积分

新手上路

Rank: 1

积分
92
5#
 楼主| 发表于 2016-3-16 16:15:19 | 只看该作者
且听Windy吟 发表于 2016-3-16 15:46
您好,非常感谢您对高德室内地图的关注。

您找找如下代码:是用来设置背景色的。

那还有一个室内地图无法显示是什么原因呢?
回复 支持 反对

使用道具 举报

最佳答案
1 

0

主题

2

帖子

10

积分

新手上路

Rank: 1

积分
10
6#
发表于 2016-3-17 19:35:08 | 只看该作者
手心冰冷 发表于 2016-3-13 15:30
MallData data = new MallData("B000A856LJ", "B000A856LJ");
                mIndoorManager = IndoorDataManager.Creat ...

LZ解决了吗?
Write the code, change the world
回复 支持 反对

使用道具 举报

最佳答案
1 

10

主题

24

帖子

92

积分

新手上路

Rank: 1

积分
92
7#
 楼主| 发表于 2016-3-18 19:30:06 | 只看该作者

算解决了吧,我把那个mapview,就永远不销毁。好像mapview只能加载一下,
回复 支持 反对

使用道具 举报

最佳答案
1 

0

主题

2

帖子

10

积分

新手上路

Rank: 1

积分
10
8#
发表于 2016-3-20 01:29:37 | 只看该作者    本楼为最佳答案   
手心冰冷 发表于 2016-3-18 19:30
算解决了吧,我把那个mapview,就永远不销毁。好像mapview只能加载一下,

LZ我找到解决方法了。
在生命周期结束时调用mMapView#onDestroy方法就ok了,注意是onDestroy不是destroy。。。
Write the code, change the world
回复 支持 反对

使用道具 举报

最佳答案
0 

6

主题

8

帖子

36

积分

新手上路

Rank: 1

积分
36
9#
发表于 2016-3-30 20:14:33 | 只看该作者
手心冰冷 发表于 2016-3-13 15:30
MallData data = new MallData("B000A856LJ", "B000A856LJ");
                mIndoorManager = IndoorDataManager.Creat ...

你好,请问一下,你这段代码为什么跟高德地图给的DEMO不一样呢?
回复 支持 反对

使用道具 举报

最佳答案
0 

1

主题

3

帖子

25

积分

新手上路

Rank: 1

积分
25
10#
发表于 2016-4-18 17:21:07 | 只看该作者
iK_Leehom 发表于 2016-3-20 01:29
LZ我找到解决方法了。
在生命周期结束时调用mMapView#onDestroy方法就ok了,注意是onDestroy不是destroy ...

为什么调用mMapView.onDestroy()之后背景颜色变成黑色的呢,很奇怪,有人有解决方法吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|高德开发者论坛

Copyright ©2014 高德开发者论坛.All Rights Reserved |京ICP证070711号

意见反馈 常见问题 服务条款 联系我们
快速回复 返回顶部 返回列表