在android中改变室内地图时动态隐藏/显示标记

时间:2015-02-19 05:16:00

标签: android google-maps google-maps-markers google-maps-android-api-2 google-indoor-maps

我正在创建一个谷歌室内地图应用程序作为我的项目的一部分。到目前为止,我只是尝试在主应用程序启动之前创建一些工作原型。截至目前,我正在使用一个大学位置,在那里我可以找到室内地图。

我的主要目标是在不同楼层的位置(如房间,剧院或礼堂)展示带有windowInfo的标记。我刚用了一楼一个房间拉长,现在设置标记。但是当用户切换到二楼时,地图应该隐藏第一层标记,并且必须在地板2上显示其他可用标记。同样的事情适用于所有其他楼层。

在这里,我的主要问题是如何才能知道确切的纬度或地板2上特定位置的位置,我应该在那里显示标记点。是否有任何方式谷歌给出上层位置的响应长度或一些高度,所以我可以尝试确定并显示标记。

第二个困惑是,当用户放大或缩小或者用户更改楼层时,我们可以处理很多标记隐藏和显示。

请分享您对此的想法和看法。截至目前,我只能将标记放在一楼。你可能会在下面找到这张图片。

enter image description here

任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:0)

您可以使用getLevels ()

获取建筑物中的等级。虽然水平通常由单个建筑物包围,但是水平可能被几个建筑物包围(例如,停车场水平可能跨越多个建筑物)。这些级别从上到下处于“显示顺序”。

您还可以在IndoorBuilding类中使用各种方法getActiveLevelIndex(),getDefaultLevelIndex(),isUnderground()等

Read more about IndoorLevel

希望有所帮助

答案 1 :(得分:0)

某些应用包括您的海拔高度以及纬度/经度信息。你需要做的是获得你的高度并将其保持为变量。然后找出每个楼层的高度。我试图为大学做同样的事情,这是我知道你在哪里可以知道你在二楼或三楼的唯一方式。可以将其视为具有x,y和z值。 Lat / Long基本上是地球表面的二维表示。但是,你也有第3架飞机。您可以执行以下操作:下载一个程序,该程序不仅会告诉您lat / long,还会告诉您海拔高度。然后有一个变量,它是每个建筑物的常量。 (建筑物名称)(楼层编号)(楼层标高)。然后,当您给建筑物lat / long时,您还会给出高程变量,然后将其与楼层编号相关联。

阿什