【问题标题】:how to get directions arrow without using google maps api如何在不使用谷歌地图 api 的情况下获取方向箭头
【发布时间】:2012-09-16 13:13:32
【问题描述】:
我是 Android 开发和导航应用程序的新手。我正在开发与 Google Navigation 相同但路径不同的导航应用程序。我能够走自己的路。现在我想以与 Google Navigation 应用程序相同的方式在应用程序中显示我的路径。但我不想使用 Google Navigation API。在 Google 导航应用程序中,它们用箭头表示当前位置。
有人知道如何使用相同的表示吗?或者任何人都可以给我任何提示我应该在哪里寻找?
【问题讨论】:
标签:
android
google-maps
navigation
【解决方案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();
}
}