从 com.google.android.gms:play-services-maps:18.0.2 迁移到 com.google.android.gms:play-services-maps:18.2.0 时,我的形状突然开始出现在建筑物和道路标签后面,...
当从 迁移 com.google.android.gms:play-services-maps:18.0.2
到 时 com.google.android.gms:play-services-maps:18.2.0
,我的形状突然开始出现在建筑物和道路标签后面,如下所示:
如您所见,该多边形的线条(实心黑色,不透明度)和区域(实心绿色,不透明度)位于建筑物和标签的后面。
使用 18.0.2 版库,这不是问题。多边形将如下所示:
这是新库版本的错误吗,还是应该是这样的?如果是的话,我怎样才能让我的形状再次出现在建筑物和标签的前面?我尝试使用 setZIndex()
,但没有帮助。
setBuildingsEnabled(boolean)
方法并将其设置为 false
Google 公共问题跟踪器 中已记录了 有关此问题的一个现有错误。 评论 #7 指出,此方法 可按预期运行 ,但可以使用公共方法 setBuildingsEnabled(boolean)
.
因此,在 Kotlin 中,将以下代码添加到您的 onMapReady()
SDK 中应该可以解决使用 LATEST
渲染器 / 版本 18.2.0
及更高版本( LATEST
默认情况下使用渲染器)的问题。(有关更多信息,请参阅: https://developers.google.com/maps/documentation/android-sdk/renderer )
override fun onMapReady(googleMap: GoogleMap) {
googleMap.setBuildingsEnabled(false)
//..... The rest of the code here .....//
}
或者您也可以在 Kotlin 中使用以下命令:
override fun onMapReady(googleMap: GoogleMap) {
googleMap.isBuildingEnabled = false
//..... The rest of the code here .....//
}
这应该可以防止覆盖层再次被建筑物重叠,因为它们已被禁用。
注意 : 公共问题跟踪器是有关此类功能/问题的更新的权威来源。因此,如果此解决方法对您不起作用,我建议您为上述问题加注星标并点赞。并提供您的使用案例/原因,说明此处讨论的解决方法不够用。这将有助于提高 Google 工程师对该问题的了解程度。