0

現在、Hello Mapview(http://developer.android.com/training/tutorials/views/hello-mapview.html )にアクセスするのに問題がありますが、これは正しく行われたと思います。別のアクティビティで地図を表示したい。

Map.xml:

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

 <com.google.android.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mapview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:clickable="true"
    android:apiKey="working key"
    />

</LinearLayout>

マップを表示するボタンonclickイベント

public void showMap(View v){

    Intent intent = new Intent(getBaseContext(), GoogleMapsActivity.class);
    startActivity(intent);
}

GoogleMapsActivity.java

public class GoogleMapsActivity extends MapActivity
{
MapView mapView;

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.map);

    mapView = (MapView) findViewById(R.id.mapview);
    mapView.setBuiltInZoomControls(true);
}

アクティビティはマニフェストに追加され、Google APIが含まれます。マップをメインのアクティビティに配置すると機能しますが、には機能しませんGoogleMapsActivity。ここで見逃したものを教えてください。

ありがとう

4

2 に答える 2

0

https://developers.google.com/maps/documentation/android/reference/から:

プロセスごとに 1 つの MapActivity のみがサポートされます。同時に実行されている複数の MapActivity は、予期しない望ましくない方法で干渉する可能性があります。

基本的に、 は 1 つしか持つことができず、 はMapActivityMapViewのみホストできますMapActivity。あなたが望むことは基本的に不可能です。

編集:それがうまくいくかどうかはわかりませんが、2番目のアクティビティをマークしてみて、それがうまくいくかどうかを確認してみてくださいandroid:process=":remote"

編集:明らかに混乱があります。https://developers.google.com/maps/documentation/android/reference/com/google/android/maps/MapViewを見てください。これは次のように述べています。

MapView は、MapActivity によってのみ構築 (または膨張) できます。これは、バックグラウンドでネットワークとファイルシステムにアクセスするスレッドに依存しているためです。これらのスレッドは、MapActivity のライフサイクル管理によって管理される必要があります。タイルは、アプリケーションのディレクトリ内のファイル システムにキャッシュされます。キャッシュは自動管理されるため、何もする必要はなく、いつでも削除できます。

繰り返しますが、他のアクティビティで MapView を表示することはできません。

于 2012-06-24T15:25:40.453 に答える
0

問題は、マニフェスト ファイルのスペルミスでした。

<activity android:name=".GoogleMapActivity" /> //missing an "s"
于 2012-06-24T15:59:33.290 に答える