-1

AndroidでGoogleマップを表示したいのですが、マップAPIがあり、マップが表示されておらず、エラーもスローされていません。私は次の Javaコードを使用しています

public class GoogleMapActivity extends MapActivity {
    private Location myLocation;
    protected MapView myMapView = null;
    protected LocationManager myLocationManager = null;
    protected MapController mapController;
    List<Overlay> mapOverlays;

    protected boolean isRouteDisplayed() {
        return false;
    }

    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        this.myMapView = new MapView(this, "0jzIB6m5R1kLa_rGte-DS9PhF3KlSgqYHUZognA");    
        this.setContentView(myMapView);
        myMapView.setBuiltInZoomControls(true);
        myMapView.setSatellite(true);
        mapController = myMapView.getController();
        mapOverlays = myMapView.getOverlays();
        this.myLocation = new Location("gps");
        this.myLocation.setLongitude(77.52436144125092);
        this.myLocation.setLatitude(13.05096452223662);
        updateView();
    }

    private void updateView() {
        Double lat = myLocation.getLatitude();
        Double lng = myLocation.getLongitude();
        GeoPoint point = new GeoPoint(lat.intValue(), lng.intValue());
        mapController.setCenter(point);
    }
}

マニフェスト

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.googlemap"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_GPS" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".GoogleMapActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <uses-library android:name="com.google.android.maps" />
    </application>

</manifest>

最後に、出力が空白になります。下の画面を見てください

画像

どこが間違っているか教えてください

4

3 に答える 3

0

私のためにうまく働いているコードの下に -

public class MapTabView extends MapActivity 
{

    MapView map;

    String api = "02gY92RWvQgV-k5CUQvGPowJkw8HkN4Tmm-HDIQ";

    @Override
    protected void onCreate(Bundle icicle) 
    {
        super.onCreate(icicle);
        map = new MapView(this, api);
        map.setClickable(true);
        map.setEnabled(true);
        setContentView(map);
    }
    @Override
    protected boolean isRouteDisplayed() {
        return false;
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem menu_item)
    {
        switch (menu_item.getItemId()) {
        case R.id.satelite:
            map.setSatellite(true);
            map.setTraffic(false);
            break;

        case R.id.traffic:
            map.setTraffic(true);
            map.setSatellite(false);
            break;

        default:
            break;
        }
        return true;
    }
}

このTabMapsExampleを見てください

于 2012-06-26T07:51:22.580 に答える
0

マップビューをレイアウト xml に配置して、その API キーもそこに配置してから、アクティビティでマップの参照を取得して、通常どおり続行します。

mapView を使用した main.xml:

    <com.google.android.maps.MapView android:id="@+id/mapView"
     android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true"
     android:layout_centerInParent="true" android:clickable="true" android:apiKey="YOUR MAP KEY"/>

アクティビティ:

super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView = (MapView)findViewById(R.id.mapView);
于 2012-06-26T07:46:30.163 に答える
0

現在のレイアウトに myMapView を追加していないと思います........

あなたはJavaコードで作成しました

this.myMapView = new MapView(this,
                "0jzIB6m5R1kLa_rGte-DS9PhF3KlSgqYHUZognA");

しかし、どのレイアウトにも追加されていないように見えます..リンクごと

  1. コンストラクターを介して MapView を動的に作成する場合、Java コードからその方法で API キーを提供できますが、それをレイアウトに動的に追加する必要があります。
  2. レイアウトにウィジェットを配置し、Java で API キーを設定することはできません。

ソリューション:

  • オプション 1 - XML 用にリニア レイアウトを作成し、そこに myMapView を追加します。
  • オプション 2 - XML でマップ ビューを作成し、それを findViewById で取得します。
于 2012-06-26T07:43:13.913 に答える