J.e*_*ome 5 android google-maps
在左下角使用谷歌地图时,您有一个图标来更改地图类型,我想将此功能添加到我的小型 Android 应用程序中,但我不知道如何。
这是我所拥有的:
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
getLastLocation();
mMap.setMyLocationEnabled(true);
mMap.getUiSettings().setMyLocationButtonEnabled(true);
mMap.getUiSettings().setMapToolbarEnabled(true);
mMap.getUiSettings().setCompassEnabled(true);
mMap.getUiSettings().setZoomControlsEnabled(true);
// different types of maps
/* mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);*/
}
Run Code Online (Sandbox Code Playgroud)
我试图检查 getUiSettings 但似乎没有选项?(我觉得有点奇怪)
这很简单 :)
在您的地图 XML 文件中使用 FAB,如下所示:
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|right"
android:layout_margin="@dimen/fab_margin"
app:backgroundTint="#0D640B"
app:elevation="20dp"
app:fabSize="mini"
app:rippleColor="#0D640B"
app:srcCompat="@android:drawable/ic_menu_map_type" />
Run Code Online (Sandbox Code Playgroud)
然后在您的地图活动中添加以下行:
FloatingActionButton fab = root.findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (GoogleMap.MAP_TYPE_NORMAL == mMap.getMapType()) {
mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
} else {
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |