11

我是 Android 开发和导航应用程序的新手。我正在开发与 Google Navigation 相同但路径不同的导航应用程序。我能够走自己的路。现在我想以与 Google Navigation 应用程序相同的方式在应用程序中显示我的路径。但我不想使用 Google Navigation API。在 Google 导航应用程序中,它们用箭头表示当前位置。

有谁知道如何使用相同的表示?或者任何人都可以给我任何提示我应该在哪里寻找?

4

1 回答 1

1

Android Asset Studio是一个相当不错的图标网站,您可以创建一个与通常的谷歌地图标记非常相似的网站。

使用 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 回答