0

在我的地图项目中,我有一个地图,占据主活动中设备的整个屏幕。我在地图上有一些针脚。如果我们按下这个别针,它会导致另一个活动。在那里我有一个地图,其大小是屏幕尺寸的三分之一。如果我们来自另一项活动的主要活动。Android:一个活动的地图大小需要另一个活动的地图大小

主活动中的地图在另一个活动中获取地图的大小。

我的主要业务XML是 <

?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/mainlayout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" > 

     <EditText 
      android:id="@+id/search" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:ems="10" > 

      <requestFocus /> 
     </EditText> 

     <Button 
      android:id="@+id/submit" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_weight="3" 
      android:text="Search" /> 
    </LinearLayout> 



    <com.xxx.yyy.FireMapView 
     android:id="@+id/mapview" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_below="@+id/linearLayout1" 
     android:apiKey="xxxxxxxxxxx" 
     android:clickable="true" > 
    </com.xxx.yyy.FireMapView> 

</RelativeLayout> 

而我的另一项活动是XML,

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/reportentry" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <com.xxx.yyy.FireMapView 
     android:id="@+id/mapview1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_marginBottom="10dp" 
     android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp" 
     android:layout_marginTop="10dp" 
     android:layout_weight="3" 
     android:apiKey="xxxxxx" 
     android:clickable="true" > 
    </com.xxx.yyy.FireMapView> 

    <LinearLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/reportentry1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="1" 
     android:orientation="vertical" > 

     <LinearLayout 
      android:id="@+id/a1" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <TextView 
       android:id="@+id/add" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_weight="1" 
       android:text="Address" /> 

      <EditText 
       android:id="@+id/address" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_weight="1" /> 
     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/ft1" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <TextView 
       android:id="@+id/ft2" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_weight="1" 
       android:text="ft" /> 

      <Spinner 
       android:id="@+id/ft3" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_weight="1" /> 
     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/c" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <TextView 
       android:id="@+id/c1" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_weight="1" 
       android:text="C" /> 

      <EditText 
       android:id="@+id/c2" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_weight="1" 
       /> 
     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/p1" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <TextView 
       android:id="@+id/p2" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_weight="1" 
       android:text="p" /> 

      <EditText 
       android:id="@+id/p3" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_weight="1" /> 
     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/fc" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <TextView 
       android:id="@+id/fc1" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_weight="1" 
       android:text="fc" /> 

      <Spinner 
       android:id="@+id/fc2" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_weight="1" /> 
     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/btn_info" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <Button 
       android:id="@+id/cancel" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_weight="1" 
       android:text="Cancel" /> 

      <Button 
       android:id="@+id/report" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_weight="1" 
       android:text="Report" /> 
     </LinearLayout> 
    </LinearLayout> 

</LinearLayout> 

请给我正确的方式....

感谢

回答

0

根据docs android每个进程维护一个mapview实例。所以,你不能在单个进程中维护不同的mapview实例。

如果大小只有你的问题,然后同时回来你mainactivity通话

mapView.getController.zoomIn(); 

mapView.getController.zoomOut(); 

在onRestart()mainactivity的。

这不是完美的解决方案,但至少它为我工作。

这个问题已经被报告http://code.google.com/p/android/issues/detail?id=3756

+0

由于其工作...... – Sridhar 2012-08-03 10:23:45

+0

欢迎您... – sankar 2012-08-03 10:24:58

相关问题