2011-11-29 64 views
0

我試圖嵌入的MapView到的FrameLayout例如活動的,嵌入的MapView到活動

UserActivity佈局

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
<FrameLayout android:id="@+id/map_frame" android:layout_gravity="center_horizontal" android:padding="0.0dip" android:clipChildren="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4.0dip"> 
     <ImageView android:id="@+id/map_img" android:layout_gravity="center" android:layout_width="294.0dip" android:layout_height="136.0dip" android:src="@drawable/place_map_frame" /> 
</FrameLayout>  
</LinearLayout> 

在這裏,裏面的FrameLayout我想顯示的MapView當過列表項被點擊 由於某種原因,它不可能直接放入框架佈局,所以只是因爲我創建了另一個活動,它擴展了MapActivity

<com.google.android.maps.MapView 
android:layout_gravity="center" 
android:id="@+id/mapview" 
android:clickable="true" 
android:layout_width="294.0dip" 
android:layout_height="136.0dip" 
android:layout_centerInParent="true" 
android:apiKey="@string/google_maps_key" /> 

用戶映射佈局

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <com.google.android.maps.MapView android:layout_gravity="center" android:id="@+id/mapview" android:clickable="true" android:layout_width="294.0dip" android:layout_height="136.0dip" android:layout_centerInParent="true" android:apiKey="@string/google_maps_key" /> 
</LinearLayout> 

Here is the code for both the activities

import com.google.android.maps.MapActivity; 

import android.app.Activity; 
import android.os.Bundle; 

public class UserMap extends MapActivity { 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
      setContentView(R.layout.user_map); 


    } 
    @Override 
    protected boolean isRouteDisplayed() { 
     // TODO Auto-generated method stub 
     return false; 
    } 

} 



import android.app.Activity; 
import android.os.Bundle; 
import android.widget.FrameLayout; 
import android.widget.ImageView; 

public class UserActivity extends Activity { 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.user_activity);       
    } 

} 

現在,我要將獲得點擊列表項,當用戶映射到UserActivity的的FrameLayout和UserActivity將被調用。

+0

使你'UserActivity'一個'MapActivity' –

+0

如果我在UserActivity延長MapActivty然後,我打電話給它作爲一個意圖,它給我java.lang.NoClassDefFoundError:com.ui.user.UserActivity錯誤 – Hunt

+0

可以'UserMap'嗎?你可以打開'UserMap'嗎? –

回答

0

請記住包含Google API而不是單個Android API。

您還需要在您的清單下面一行,則<application>標籤下:

<uses-library android:name="com.google.android.maps" />

+0

Build Path困擾了我! – Hunt