如何获得最低水平

时间:2013-08-07 10:51:34

标签: android google-maps map

我正在进行一项项目,必须在谷歌地图android api v2的室内部分的不同楼层绘制路径。我已经在室内启用了,但是有什么方法可以附加听众或以任何其他方式通知显示的是哪个楼层,或者只是显示名称或号码?

提前致谢!

2 个答案:

答案 0 :(得分:1)

        map.setOnIndoorStateChangeListener(new GoogleMap.OnIndoorStateChangeListener() {

        @Override
        public void onIndoorBuildingFocused() {

        }

        @Override
        public void onIndoorLevelActivated(IndoorBuilding building) {
            int activeLevelIndex = building.getActiveLevelIndex();
        }

    });

答案 1 :(得分:0)

在室内路径导航中,基于wifi的导航比GPS要好得多。因此,一种获得楼层的方法是,您需要在每层楼的入口位置设置一个接入点(AP),即在电梯或楼梯的开口处。因此,基于来自AP的信号,您可以区分地板。

WifiManager wManager;
List<ScanResult> wifiList; 

wManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
// Inside BroadcastReceiver()
wifiList = wManager.getScanResults();
for (int i=0; i<wifiList.size(); i++){
    ScanResult scanresult = wManager.getScanResults().get(i);                        
    System.out.println("SSID: "+ssid);
    System.out.println("RSSI: "+scanresult.level);
   }

SSID给出AP的名称,RSSI给出信号强度。因此,使用这些数据,您可以识别楼层,即使在较近的楼层存在另一个AP信号。