我正在尝试GoogleMap
从对象中获取SupportMapFragment
对象。因为我也希望在 API 级别 8 上进行这项工作,所以像这样的解决方案findFragmentById
对我不起作用..
我有这个 XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:background="#fff"
android:id="@+id/map_view"
android:layout_height="match_parent" >
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.SupportMapFragment"
map:cameraZoom="11"
map:cameraTargetLat="32.1275701"
map:cameraTargetLng="34.7983432"
map:uiZoomControls="false"/>
<ImageView
android:id="@+id/button_image"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="bottom"
android:contentDescription="@string/back"
android:layout_alignParentBottom="true"
android:clickable="true"
android:onClick="returnToMain"
android:background="@drawable/return_button" />
</RelativeLayout>
更新:
Java 代码:
public void category(View v){
if(isNetworkAvailable()){
if(viewMap==null){
setContentView(R.layout.map_view);
viewMap=(RelativeLayout)findViewById(R.id.map_view);
Fragment ssmf=getFragmentManager().findFragmentById(R.id.map);
mapObject=((SupportMapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
mapObject.addMarker(new MarkerOptions()
.position(new LatLng(32.1275701, 34.7983432))
.title("Hello world"));
}
else{
setContentView(viewMap);
}
}
}
我收到了这个错误:
无法将表单Fragment
转换为SupportMapFragment
。