2010-02-23 376 views
1

我已經完成了創建一個向程序添加標記的android程序。 但我需要在MAP中顯示CURRENT MY LOCATION。我知道這是通基於位置的服務做,但我不知道如何將其納入我的計劃獲取當前位置

這裏是我的onCreate命令


    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main);

//map 
    mapView = (MapView) findViewById(R.id.mapView); 

    //zoom 
    LinearLayout zoomLayout = (LinearLayout)findViewById(R.id.zoom); 
    View zoomView = mapView.getZoomControls(); 

    zoomLayout.addView(zoomView, 
     new LinearLayout.LayoutParams(
      LayoutParams.WRAP_CONTENT, 
      LayoutParams.WRAP_CONTENT)); 
    mapView.displayZoomControls(true); 

    //Philippines coordinate 
    mc = mapView.getController(); 
    String coordinates[] = {"10.952566007", "121.78921587"}; 
    double lat = Double.parseDouble(coordinates[0]); 
    double lng = Double.parseDouble(coordinates[1]); 

    p = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6)); 

    mc.animateTo(p); 
    mc.setZoom(6); 

    mapOverlay = new MapOverlay(); 
    listOfOverlays = mapView.getOverlays(); 
    listOfOverlays.clear(); 
    listOfOverlays.add(mapOverlay); 

    mapView.invalidate(); 
} 

我有一個放置標記的的onTouchEvent 。所以沒問題, 問題是我需要在程序開始時顯示我的位置。它應該顯示一個標記,上面寫着「你在這裏」或類似的東西。

p.s:我想我需要改變硬編碼點到我目前的位置點,但我不知道該怎麼做:

回答

0

Hello MapView顯示如何放置疊加層。我想你想使用the google APIS reference中記錄的MyLocationOverlay類來獲取當前位置。

+0

另一個比你想要的更好的示例是anddev.org上的friend finder應用程序:http:/ /www.anddev.org/the_friend_finder_-_mapactivity_using_gps_-_part_i_-_ii-t93.html – RickNotFred 2010-02-23 13:39:41

2

爲了讓您的手機的當前位置,我用

的LocationManager的LocationManager =(的LocationManager)this.getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_COARSE); String bestProvider = locationManager.getBestProvider(criteria,true); 位置loc = locationManager.getLastKnownLocation(bestProvider);

限定在AndroidManifest.xml用途-權限這些 (使用細位置其他的東西)

REF。 http://code.google.com/p/android-bluetooth-on-motion/source/browse/trunk/BluetoothOnMotion/src/com/elsewhat/android/onmotion/BluetoothOnMotionService.java

在我的應用程序中,我希望將參數傳遞給地圖意圖,以便地圖顯示標記,但是找不到方法。按照Rick(誰不​​是Fred)的建議創建位置疊加層可能是要走的路線

+0

當我將這段代碼合併到我的程序中時,它返回一個空位置。 – lulala 2010-02-28 06:50:02

+0

很奇怪。您是否按照與我相同的方式設置了AndroidManifest.xml,請參閱http://code.google.com/p/android-bluetooth-on-motion/source/browse/trunk/BluetoothOnMotion/AndroidManifest.xml? – dparnas 2010-03-08 16:37:13