在Google地图中为我的位置按钮设置自定义视图

时间:2016-10-30 05:53:48

标签: java android xml google-maps

我正在使用谷歌地图Android API v2,我需要一种方法来改变"我的位置"的视图(图标,颜色等)。按钮。

现在我可以改变它的位置,但我需要一种方法来进行完全自定义。 请有人帮帮我吗?

3 个答案:

答案 0 :(得分:6)

位置按钮实际上是一个ImageView。您应该首先检索与地图关联的片段视图:

SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                                    .findFragmentById(R.id.map);

接下来,您应该从片段中获取位置视图参考:

ImageView locationButton = (ImageView) mapFragment.getView().findViewById(2);

然后将其图像更改为您想要的任何内容。 e.g。

locationButton.setImageResource(R.drawable.icon_location);

希望它有所帮助。

答案 1 :(得分:1)

我使用 ImageView 而不是 Tag 获取地图的默认 Id 以防止 Expected resource of type id lint 警告 -

ImageView imageView = ((ImageView)mapFragment.getView().findViewWithTag("GoogleMapMyLocationButton"));

然后你就可以操作 imageView 了。

imageView.setImageResource(R.drawable.icon_custom_location);

答案 2 :(得分:0)

我认为你可以拥有"我的位置"按钮视图,代码如下:

View locationButton = ((View) mapView.findViewById(Integer.parseInt("1")).getParent()).findViewById(Integer.parseInt("2"));