2012-09-25 74 views
11

我是新的Android開發和導航應用程序。我正在開發與Google導航相同的導航應用程序,但路徑不同。我能夠獲得自己的道路。現在我想以與Google導航應用相同的方式在應用中展示我的路徑。但我不想使用Google導航API。在Google導航應用中,它們通過箭頭表示當前位置。如何獲取方向箭頭沒有使用谷歌地圖API

是否有人知道如何使用相同的表示?或者任何人都可以給我任何提示,我應該在哪裏尋找?

+0

您需要點出你的位置有一個箭頭的形象?我對嗎? – Satheesh

+0

你嘗試過這樣的事嗎? http://android-er.blogspot.com.es/2010/08/simple-compass-sensormanager-and.html – jzafrilla

+0

這是你在找什麼:http://adrianandroid.blogspot.co.il/2012 /09/how-to-draw-shortest-path-between-two.html –

回答

1

Android Asset Studio是一個相當不錯的網站圖標,你可以創建一個非常類似於通常的谷歌地圖標記。

向地圖添加標記是使用android中的疊加完成的。下面的代碼位於一個活動的onCreate中,它擴展了MapActivity。

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(); 
    } 
}