1

新しいグーグルマップAPIが出る前に、私はグーグルマップフラグメントを実装することができました、そして、私はそれらをxmlファイルに追加することによってマップの上に浮かぶボタンを追加しました。Rawマップビューのデモアクティビティのxmlファイルでこれと同じ手法を使用できます。デモアクティビティはフラグメントアクティビティですが、実際にフラグメントを使用できないと思われる場合。xmlファイルからのマップでビューを埋めるだけです。

mapfragmentを拡張するフラグメントを作成せずに、マップフラグメントに特定のレイアウトをロードさせ、マップビューのライフサイクルを自分で処理する必要はありませんか。私はそうすることは通常推奨されないことを知っています。

ボタンの古いXML

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

<com.google.android.maps.MapView
    android:id="@+id/mapview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:apiKey="0xR1g8qRRLoUp8-8gd7050zKWtMQCMDDHhizisw"
    android:clickable="true" >

    android:apiKey = "APIKEY" >
</com.google.android.maps.MapView>

<ZoomControls
    android:id="@+id/zoom"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:padding="10dp" />

<ImageButton
    android:id="@+id/button"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:background="@null"
    android:contentDescription="@string/description"
    android:padding="20dp"
    android:src="@drawable/button" >

rawMapViewDemoからのXML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/frame"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<com.google.android.gms.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<ImageButton
    android:id="@+id/cacbutton"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:background="@null"
    android:contentDescription="@string/description"
    android:padding="20dp"
    android:src="@drawable/taxi" >
</ImageButton>

4

1 に答える 1

0

プログラムでマップフラグメントを構築しようとしていましたが、やりたいことができませんでした。フラグメントをレイアウト ファイルに追加すると、ボタンを正しく追加できます。現在、マップフラグメントの表示と非表示、およびビューが更新されていないという問題があります。以下のXMLは、私にとってうまくいったものです。実際には 2 つのマップ フラグメントを使用していることに注意してください。両方のフラグメントに 1 つのボタンを使用する方法はまだわかりません。私はアイデアを受け入れます。

<FrameLayout
    android:id="@+id/fragment_container"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

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

        <ImageButton
            android:id="@+id/cacbutton"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:background="@null"
            android:contentDescription="@string/description"
            android:padding="20dp"
            android:src="@drawable/button" >
        </ImageButton>
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

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

        <ImageButton
            android:id="@+id/cacbutton2"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:background="@null"
            android:contentDescription="@string/description"
            android:padding="20dp"
            android:src="@drawable/button" >
        </ImageButton>
    </RelativeLayout>
</FrameLayout>

于 2013-01-07T23:57:01.193 に答える