我在应用程序中使用片段,我是新的.有一个片段,我想要显示Google Map并想要获得它的对象,因为我在我的
XML中有一个片段,我想在片段本身中膨胀.当我试图夸张地图视图它显示我的错误getSupportFragmentManager().
如何获取地图对象,那就是主要的问题.我的XML是这样的:
<fragment android:id="@+id/map" android:layout_width="match_parent" android:layout_height="250dp" class="com.google.android.gms.maps.SupportMapFragment" />
而我想要获取Google Map对象的片段就是这样的:
public class FindMyCar extends Fragment { private TextView mTvFind; private TextView mTvPark; private EditText mEtParkHint; private GoogleMap map; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) { View view = inflater.inflate(R.layout.findmycar,null); initViews(view); Typeface type = Typeface.createFromAsset(getActivity().getResources().getAssets(),"Multicolore.otf"); mTvFind.setTypeface(type); mTvPark.setTypeface(type); mEtParkHint.setTypeface(type); SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); return view; } @Override public void onDestroyView() { super.onDestroyView(); } @Override public void onDestroy() { super.onDestroy(); } private void initViews(View view){ mTvPark = (TextView) view.findViewById(R.id.tvFindCarPark); mTvFind = (TextView) view.findViewById(R.id.tvFindCar); mEtParkHint = (EditText) view.findViewById(R.id.etParkHint); }
有人可以帮我找到我的地图的对象,以便我可以显示当前的位置,并在那里画标记.
任何帮助将是可观的.
提前致谢.
解决方法
尝试这个
GoogleMap map = ((SupportMapFragment) getFragmentManager() .findFragmentById(R.id.map)).getMap();
并在你的xml
<fragment android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.SupportMapFragment" />