【发布时间】:2018-12-14 07:48:41
【问题描述】:
我之前为 MapView 做过这个,它非常简单,因为有预定义的方法,如 onInterceptTouchEvent 或 GestureListeners 等。
有人在地图片段中尝试过这种双击或双击缩放功能吗?我用谷歌搜索,但仍然找不到任何解决方案。
我只是通过添加 UiSettings 来启动它getMap().getUiSettings().setZoomGesturesEnabled(true);
它会在setOnMapClickListener() 的帮助下实现,还是有什么东西可以处理 Map Fragment 的双击事件的手势?
注意:这个问题纯粹是在 MapFragment 上,与 MapView 无关,已经回答 Double tap: zoom on Android MapView?
编辑 我在布局中使用的 MapFragment:
<ViewFlipper
android:id="@+id/viewFlipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@id/noItemsText"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:addStatesFromChildren="true"
android:background="@android:color/transparent"
android:gravity="center">
<ListView
android:id="@+id/storesListView"
style="@style/Fill"
android:background="@android:color/transparent"
android:cacheColorHint="#00000000" />
<fragment
android:id="@+id/mapview"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</ViewFlipper>
该类是一个控制器,它为扩展 Activity 而不是 AppCompactActivity 的 Activity 工作。
我还在地图中添加了标记聚类。
类方:
public class StoreFinderController extends BeeonicsControllerBase implements OnMapReadyCallback,
ClusterManager.OnClusterItemInfoWindowClickListener<AllClusterItems>,ClusterManager.OnClusterClickListener<AllClusterItems> {
onMapReady:
@Override
public void onMapReady(GoogleMap googleMap) {
/*better to work with our map :)*/
this.googleMap = googleMap;
mClusterManager = new CustomClusterManager<AllClusterItems>(getActivity(), getMap());
getMap().setOnCameraIdleListener(mClusterManager);
getMap().setOnInfoWindowClickListener(mClusterManager);
getMap().setOnMarkerClickListener(mClusterManager);
mClusterManager.setOnClusterItemInfoWindowClickListener(this);
mClusterManager.setOnClusterClickListener(this);
/*map additional settings*/
setUpMap();
//setUpGoogleMap();
//readItems();
}
在 setUpMap 中,我只是在对象之间传输一些数据。
【问题讨论】:
-
@King of Masses 我清楚地提到它用于 Map Fragment 而不是 MapView。在添加任何重复的标签之前,请正确阅读问题。
-
好的。重新打开问题
-
您是否有机会提供更多代码(和 XML)?我有一个带有
MapFragment的应用程序,并且缩放功能“开箱即用”。 -
@MikeL 我用一些代码和 xml 更新了这个问题。请随意提问。
-
@Ranjit 你能在你的代码中获得点击监听器和地图对象吗?
标签: java android android-maps-v2