java - 谷歌地图无法使用手势

标签 java android google-maps

我创建了一个如下所示的 map fragment :

  public class MapsFragment extends Fragment implements OnMapReadyCallback {

    private GoogleMap mMap;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        super.onCreateView(inflater, container, savedInstanceState);
        return inflater.inflate(R.layout.activity_maps, container, false);
    }

    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        SupportMapFragment supportMapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map);
        supportMapFragment.getMapAsync(this);
    }

    @Override
    public void onMapReady(final GoogleMap googleMap) {
        mMap = googleMap;
        googleMap.getUiSettings().setZoomGesturesEnabled(true);
        mMap.getUiSettings().setZoomGesturesEnabled(true);
        final LatLng latlg = new LatLng(40.730610,  -73.935242);
        mMap.addMarker(new MarkerOptions().position(latlg));
        mMap.moveCamera(CameraUpdateFactory.newLatLng(latlg));
        mMap.animateCamera(CameraUpdateFactory.zoomTo(12.0f));


    }
}

activity_maps.xml:

 <fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="tagonsoft.com.kidgonet.gui.fragments.MapsFragment" />

我从 Activity 中调用以下 fragment :

 public class MyActivity extends AppCompatActivity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
           Fragment mFragment = null;
            mFragment = new MapsFragment();
            FragmentManager fragmentManager = getSupportFragmentManager();
            fragmentManager.beginTransaction()
                    .replace(R.id.fragment_overview, mFragment).commit();
           }          
    }  

下面的xml是MyActivity的内容:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
   >
 <FrameLayout
        android:id="@+id/fragment_overview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
     />
</RelativeLayout>

我确实看到了 map View ,它工作得很好。唯一的问题是我无法拖动 map 查看其他地方或缩放 map 。

我遵循了谷歌的 map Activity 模型。当我启动 MapsActivity(由谷歌提供)时,一切都很好。我唯一改变的就是使 MapsActivity 成为一个 fragment 。我尝试使用 googleMap.getUiSettings().setAllGesturesEnabled(true); 但没有成功。

最佳答案

好的,我已经找到问题了。上面的代码工作正常。这是我的错误,我也实现了抽屉导航,并且抽屉导航位于 map View 上方,这就是为什么我无法访问 map 拖动或任何手势。

关于java - 谷歌地图无法使用手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48010945/

相关文章:

Android Studio Open GL ES(错误)

javascript - 如何阻止地址自动填充谷歌地点

android - 如何获取位置或只是一个 id 以提供基于位置的内容?

java - GlassFish 安全领域、Active Directory 和推荐

java - JTDS - java.sql.SQLException : I/O Error: Connection reset by peer: socket write error

java - Java Constructor 可以构造子类的对象吗?

javascript - 在 Google map 上显示路径时出现问题

java - PrintWriter 与 FileWriter 在以下上下文中的比较

android - 在android中使用共享首选项存储密码

android - 如何将Paho-MQTT添加到android studio