1

わかりました、私は前にこれを尋ねました。1つの答えを得ました。私は自分がしていることについてもっと深く掘り下げるつもりです。複数の店舗があるビジネス向けのアプリを作成しています。各店舗にボタンを表示するレイアウトがあります。ボタンの1つをクリックすると、2つのボタンがある別のビューに移動します。このビューには、uをクリックすると、uのストアを呼び出すボタンがあり、正常に機能します。同じビューのもう一方のボタンをクリックすると、Googleマップに移動し、ストアの場所が表示されます。これはすべて正常に機能します。しかし、私が欲しいのは、地図にも表示されるマーカーです。私は何もする必要はありませんが、これが店のある場所であることを顧客に示します。これは私が使用している私のコードです--->

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 android.os.Bundle;

public class Main extends MapActivity {

    MapController mControl;

    GeoPoint GeoP;

    MapView navView;


    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        navView = (MapView) findViewById(R.id.navView);

        navView.displayZoomControls(true);

        navView.setBuiltInZoomControls(true);

            navView.setSatellite(true);

            navView.getOverlays().add(new MyLocationOverlay(this,navView));




        double lat = 40.325874;

        double longi = -76.002211;

        GeoP = new GeoPoint((int) ( lat *1E6), (int) (longi * 1E6));

        mControl = navView.getController();

        mControl.animateTo(GeoP);

        mControl.setZoom(20);

        }

    @Override
    protected boolean isRouteDisplayed() {
        // TODO Auto-generated method stub
        return false;

    }
}
4

3 に答える 3

3

@エリック・グラウル

このチュートリアルを確認してください。

http://mobiforge.com/developing/story/using-google-maps-android

于 2012-04-27T04:00:16.373 に答える
2

これをチェックしてください http://eagle.phys.utk.edu/guidry/android/mapOverlayDemo.htm

于 2012-04-27T05:41:25.070 に答える
1
GeoPoint p = mapView.getProjection().fromPixels((int) event.getX(),(int) event.getY());
Drawable srcdrawable = getApplicationContext().getResources().getDrawable(R.drawable.pin_blue);
CustomItemizedOverlay srcitemizedOverlay = new CustomItemizedOverlay(srcdrawable, getApplicationContext());
OverlayItem srcoverlayitem = new OverlayItem(p, "Hello!", "This is your Location.");
srcitemizedOverlay.addOverlay(srcoverlayitem);
mapView.getOverlays().clear();
mapView.getOverlays().add(srcitemizedOverlay);
mapController.animateTo(srcpoint);
mapController.setZoom(16);

ontouch メソッドで上記のコードを使用し、以下の CustomItemizedOverlay.java クラスも使用します

public class CustomItemizedOverlay extends ItemizedOverlay<OverlayItem> {

    private final ArrayList<OverlayItem> mapOverlays = new ArrayList<OverlayItem>();

    private Context context;

    public CustomItemizedOverlay(Drawable defaultMarker) {
        super(boundCenterBottom(defaultMarker));
    }

    public CustomItemizedOverlay(Drawable defaultMarker, Context context) {
        this(defaultMarker);
        this.context = context;
    }

    @Override
    protected OverlayItem createItem(int i) {
        return mapOverlays.get(i);
    }

    @Override
    public int size() {
        return mapOverlays.size();
    }

    public void addOverlay(OverlayItem overlay) {
        mapOverlays.add(overlay);
        this.populate();
    }

}
于 2012-04-27T04:44:14.630 に答える