我的Android应用程序使用Google MAP API V2。 我想使用此解决方案在地图上处理触摸,拖动和触摸事件:https://github.com/MadsFrandsen/MapStateListener
但我无法从视图中引用TouchableMapFragment对象来创建MapStateListener。
我是Android的新手,所以请帮我实施此解决方案或其他解决方案来解决我的问题。 谢谢,
这是我的布局:
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="megacom.taxigo.driver.android.utils.mapstatelistener.TouchableMapFragment"/>
答案 0 :(得分:0)
使用TouchableMapFragment
应该非常简单。我们假设您有一个名为map.xml
的简单布局文件,例如:
<fragment android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="megacom.taxigo.driver.android.utils.mapstatelistener.TouchableMapFragment"/>
现在,在您的活动中,您需要做的就是以下内容;
public void onCreate(Context context) {
setContentView(R.layout.map);
TouchableMapFragment touchableMapFragment = (TouchableMapFragment) getFragmentManager().findById(R.id.map);
GoogleMap map = touchableMapFragment.getMap();
new MyMapStateListener(map, touchableMapFragment, this) {
@Override
public void onMapTouched() {
// Map touched
}
@Override
public void onMapReleased() {
// Map released
}
@Override
public void onMapUnsettled() {
// Map unsettled
}
@Override
public void onMapSettled() {
// Map settled
}
};
}
使用MapFragment
getMap()方法时需要注意的事项如果片段尚未完成初始化,则可以返回null。