我试图使用名为" Map"的按钮制作应用程序。一旦按下就会显示城市地图。到目前为止,我已经制作了一个应用程序,其中包含地图按钮和我的地图的单独应用程序,该应用程序使用了Google Developers'在打开应用程序时显示地图的教程。当我尝试组合这两个应用时,我遇到了麻烦。我正在使用OnClickListener,但我不知道应该放什么,这样按下按钮后就会显示地图。
修改
下面是地图的MapFragment类:
public class MapFragment extends FragmentActivity
{
private GoogleMap mMap;
private LatLngBounds ILOILO = new LatLngBounds(new LatLng(10.6, 122.466), new LatLng(10.716, 122.566));
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View v = inflater.inflate(R.layout.map_layout, container, false);
mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
mMap.setMyLocationEnabled(true);
mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(ILOILO.getCenter(), 10));
if (mMap == null)
{
Toast.makeText(this, "Google Maps not available",
Toast.LENGTH_LONG).show();
}
return v;
}
}
这是我的地图XML文件:
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map"
map:uiCompass="false"
map:uiTiltGestures="true"
map:uiZoomControls="true"
map:uiZoomGestures="true"
map:uiRotateGestures="true"
map:uiScrollGestures="false"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"/>
以下是我的MainActivity.java中的按钮:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageButton mapButton = (ImageButton) findViewById(R.id.mapButton);
mapButton.setOnClickListener(mapListener);
}
private OnClickListener mapListener = new OnClickListener()
{
public void onClick(View v)
{
Intent i = new Intent(MainActivity, MapFragment.class);
startActivity(i);
}
};
我已经修改了我的Manifest,因为我已经得到了#34;无法找到显式活动类(com.example.ipp.MapFragment);你有没有在AndroidManifest.xml中声明这个活动?&#34;错误。以下是我的清单。
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="MapFragment" >
</activity>
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
问题
当我尝试点击&#34; Map&#34;按钮,它显示我的UI而不是显示我准备好的地图。