2011-11-29 49 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