如何将GoogleMap片段包装成LinearLayout?

时间:2013-03-29 15:39:05

标签: android xml google-maps

我试过了:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <fragment 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:mapType="normal"
       />

</LinearLayout>

但我有2个错误:

  1. <fragment xmlns:map="http://schemas.android.com/apk/res-auto"
  2.   

    为标记片段

    找到了意外的名称空间前缀“xmlns”

    2. map:mapType="normal"

      

    为标记片段

    找到了意外的名称空间前缀“map”

    我做错了什么,为了在我的应用程序中集成除谷歌地图之外的更多对象,应该怎么样......

    thnx!

    编辑!!

    我尝试了这个,它有效!

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  xmlns:map="http://schemas.android.com/apk/res-auto"
                  map:mapType="normal"
    
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <fragment 
              android:id="@+id/map"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:name="com.google.android.gms.maps.SupportMapFragment"
           />
    
    </LinearLayout>
    

    无法理解为什么..也无法理解map:mapType="normal"xmlns:map="http://schemas.android.com/apk/res-auto"是什么意思...... ??

2 个答案:

答案 0 :(得分:7)

你试过了吗?

<LinearLayout 
    xmlns:map="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <fragment 
          android:id="@+id/map"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          class="com.google.android.gms.maps.SupportMapFragment"
       />

</LinearLayout>

http://developer.android.com/reference/com/google/android/gms/maps/SupportMapFragment.html看起来似乎不需要这两个属性。

我还将class替换为android:name

要使用map属性,您需要添加命名空间(我认为您可以将其添加到LinearLayout,更多信息请https://developers.google.com/maps/documentation/android/map#using_xml_attributes

如果属性不起作用,我可能只是以编程方式设置值。

答案 1 :(得分:1)

据我所知,这是一个已知的错误,如果您使用布局包装地图,则不能在其上使用map前缀属性,您必须在代码中自定义地图。