0
  1. これはマニフェスト ファイルです

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />
    
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    
    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <uses-library  android:name="com.google.android.maps"/>
        <activity
            android:name=".MapTestActivity"
            android:label="@string/title_activity_map_test" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
    
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    

  2. これはxmlレイアウトファイルです

    <LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:orientation="horizontal">
    
    
        <Button 
            android:id="@+id/zoom_in"
            android:layout_width="37dp"
            android:layout_height="wrap_content"
            android:text="+"
            android:onClick="mapHandler" />
    
        <Button 
            android:id="@+id/zoom_out"
            android:layout_width="37dp"
            android:layout_height="wrap_content"
            android:text="-"
            android:onClick="mapHandler" />
    
        <Button 
            android:id="@+id/satelite"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Satelite"
            android:onClick="mapHandler" />
    
        <Button 
            android:id="@+id/traffic"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Traffic"
            android:onClick="mapHandler" />
    
        <Button 
            android:id="@+id/norm"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Normal"
            android:onClick="mapHandler" />
    
    </LinearLayout>
    
    <com.google.android.maps.MapView
        android:id="@+id/map_view"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:enabled="true"
        android:clickable="true"
        android:apiKey="sorry for hiding app id" />
    

  3. これはJavaファイルです

    package com.example.maptest;
    import com.google.android.maps.MapActivity;
    import com.google.android.maps.MapView;
    
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.View;
    
    public class MapTestActivity extends MapActivity {
    
        private MapView mapView;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_map_test);
    
            mapView = (MapView) findViewById(R.id.map_view);
            mapView.setBuiltInZoomControls(true);
        }
    
        public void mapHandler(View view) {
            switch(view.getId()){
            case R.id.zoom_in:
                mapView.getController().zoomIn();
                break;
            case R.id.zoom_out:
                mapView.getController().zoomOut();
                break;
            case R.id.satelite:
                mapView.setSatellite(true);
                break;
            case R.id.traffic:
                mapView.setTraffic(true);
                break;
            case R.id.norm:
                mapView.setSatellite(false);
                mapView.setTraffic(false);
                break;
            }
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.activity_map_test, menu);
            return true;
        }
    
        @Override
        protected boolean isRouteDisplayed() {
            // TODO Auto-generated method stub
            return false;
        }
    }
    
  4. 出力では、ボタンのみが表示されます。私のインターネット接続も良好です

4

4 に答える 4

1

レイアウト xml 内に配置したマップ API キーは、アプリの署名に使用している証明書と一致していますか? Eclipse で実行する場合でも、証明書が使用されます。その証明書は API キーと一致する必要があります。そうでない場合、マップ ビューは機能しますが、実際にはマップ グラフィックスは表示されません。

于 2012-10-22T11:13:28.220 に答える
0

たぶん、linearlayoutが画面全体をブロックしているのでしょう!?パラメータを次のように設定します。

android:layout_width="match_parent"
android:layout_height="match_parent"

したがって、親全体をブロックしている可能性があります。ボタンやリニアレイアウトなしで試してみませんか?たぶんあなたはこのチュートリアルに従うことができます:http ://www.javacodegeeks.com/2011/02/android-google-maps-tutorial.html

于 2012-10-23T07:27:58.023 に答える
0

Open Street Maps でこの問題が発生しました。これを解決するには、SD カードをデバイス / エミュレーターに挿入する必要がありました。Google マップで同じことが必要かどうかはわかりません。

于 2012-10-22T11:16:32.400 に答える
0

パーミッションを付与する必要がありますACCESS_MOCK_LOCATION。そうしないと、アプリはあなたが送信したモックされた場所を受け入れません。また、アプリが場所を受け取るまでマップは表示されません。つまり、何らかのツール (Eclipse に統合されたツールなど) を使用して場所を入力する必要があります。

于 2012-10-22T12:01:19.060 に答える