0

マーカーを配置したいマップがありますが、マーカーが表示されません。これが私のコードです:

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.MyLocationOverlay;
import com.google.android.maps.OverlayItem;

public class MapDetailActivity extends MapActivity 
{
    private final static String TAG = MapDetailActivity.class.getSimpleName();

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        this.setContentView(R.layout.map_view);


        // get longitude and latitude values from detail activity/object
        Bundle bundle = this.getIntent().getExtras();
        float latitude = bundle.getFloat("uie.top25.seattle.latitude");
        float longitude = bundle.getFloat("uie.top25.seattle.longitude");

        Log.i(TAG, "Latitude that is set : " + latitude);
        Log.i(TAG, "Longitude that is set : " + longitude);
        // create longitude and latitude map points
        Double lat = latitude * 1E6;
        Double lon = longitude * 1E6;

        // create point on map
        GeoPoint point = new GeoPoint(lat.intValue(), lon.intValue());
        OverlayItem oi = new OverlayItem(point, null, null); 
        MapView mapView = (MapView) this.findViewById(R.id.myMapView);
        MapController mapController = mapView.getController();
        // set point on map
        mapController.animateTo(point);
        oi.setMarker(oi.getMarker(R.drawable.mm_20_red)); 
        // set zoom level
        mapController.setZoom(19);

    }

    @Override
    protected boolean isRouteDisplayed()
    {
        // No driving directions, so this method returns false
        return false;
    }

}

誰かが私が間違っていることを教えてもらえますか?

4

3 に答える 3

0

https://developers.google.com/maps/documentation/android/hello-mapこのドキュメントを見る Part-2を使用して、アイテムをマップに追加する必要があります

于 2012-09-27T20:52:57.003 に答える
0

マーカーを表示するには、オーバーレイを作成する必要があります。これを読んでください: https://developers.google.com/maps/documentation/android/reference/com/google/android/maps/Overlay

すべてを読むのが面倒な場合は、すぐに使用できるチュートリアルを次に示します。

http://android-er.blogspot.com/2009/11/display-marker-on-mapview-using.html

于 2012-09-27T21:05:50.947 に答える
0

ドキュメントと例を確認する必要がありますが、基本的な手順は次のとおりです。

1-itemizedOverlay を Google マップから拡張して、itemizedOverlay を作成します。

2-オーバーレイアイテムをアイテム化されたオーバーレイに追加し、マーカーを設定するか、前の手順で定義されたデフォルトのものを使用します。

3-アイテム化されたオーバーレイをマップビューオーバーレイに追加します:

mapview.getoverlays().add(myItemizedOverlay);

オーバーレイを mapview オーバーレイ リストに追加した直後に、そのオーバーレイは mapview によって、画面上に描画するために呼び出されると見なされます (onDraw メソッドを呼び出します)。

幸運を。

于 2012-09-27T23:04:47.630 に答える