11

Android 開発およびナビゲーション アプリケーションは初めてです。Google ナビゲーションと同じナビゲーション アプリを開発していますが、パスが異なります。私は自分の道を手に入れることができます。今度は、Google ナビゲーション アプリと同じ方法で自分のパスをアプリに表示したいと考えています。しかし、Google Navigation API は使いたくありません。Google ナビゲーション アプリでは、現在の位置を矢印で表します。

同じ表現の使い方を知っている人はいますか? または、どこを探すべきかヒントを教えてくれる人はいますか?

4

1 に答える 1

1

Android Asset Studioは、アイコン用の非常に優れた Web サイトです。通常の Google マップ マーカーと非常によく似たアイコンを作成できます。

地図にマーカーを追加するには、Android のオーバーレイを使用します。以下のコードは、MapActivity を拡張するアクティビティの onCreate にあります。

MapView myMap = ((MapView)findViewById(R.id.myMapView));
Drawable marker = getResources().getDrawable(R.drawable.marker);
List<Overlay> mapOverlays = null;
GeoPoint point = new GeoPoint(Latitude, Longitude)

myOverlays overlays = new myOverlays(marker, this);
Overlay item oi = new OverlayItem(point, "Desc", "");
overlays.add(oi);
mapOverlays = myMap.getOverlays();
mapOverlays.add(overlays);

myOverlays クラス:

import java.util.ArrayList;
import android.content.Context;
import android.graphics.drawable.Drawable;
import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.OverlayItem;

@SuppressWarnings("rawtypes")
public class myOverlays extends ItemizedOverlay {
    private ArrayList<OverlayItem> overlays = new ArrayList<OverlayItem>();
    Context context;

    public myOverlays(Drawable marker) {
        super(boundCenter(marker));
    }

    public myOverlays(Drawable marker, Context act) {
        super(boundCenter(marker));
        context = act;
    }

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

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

    @Override
    public int size() {
        return overlays.size();
    }
}
于 2012-12-29T10:38:44.263 に答える