2016-01-21 107 views
0

請幫助我,我該如何在當前位置設置標記? 下面我的代碼onCreate,addMarker和createMapView。標記在我的位置?

的onCreate 公共類MapActivity延伸活動{

GoogleMap googleMap; 


protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.map_activity); 

    createMapView(); 
    addMarker(); 

} 

addMarker

private void addMarker() { 
    if (null != googleMap) { 
     googleMap.addMarker(new MarkerOptions() 
       .title("Marker") 
       .position(new LatLng(0, 0)) 
       .draggable(true)); 
    } 
} 

createMapView

private void createMapView() { 
    try { 
     if (null == googleMap) { 
      googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.mapView)).getMap(); 


      if (null == googleMap) { 
       Toast.makeText(getApplicationContext(), "Error creating map", Toast.LENGTH_LONG).show(); 
      } 
     } 
    } catch (NullPointerException e) { 
     Log.e("mapApp", e.toString()); 
    } 
} 
+0

你所示的代碼,有什麼問題? –

+0

我如何設置當前位置? – user3729037

回答

0

獲取latitudelongitude位置從FusedLocationApiGoogleApiClient.FusedLocationApi.getLastLocation(),然後使用這些緯度/經度呼叫addMarker

希望這會有所幫助。

2

你在(0,0) .position(new LatLng(0, 0))

你可以在onLocationChanged最新位置設置你的標誌。

獲取經緯度: new LatLng(location.getLatitude(), location.getLongitude())

使用經緯度對象設置你的標誌。

0

首先,你需要得到你的位置 的當前經緯度信息,並創建基於它的經緯度對象,當你獲得成功的經緯度 使用這種方法

 LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); 
       Criteria criteria = new Criteria(); 
       String bestProvider = locationManager.getBestProvider(criteria, true); 
       fromPosition = new LatLng(latti, longi); 



googleMap.addMarker(new MarkerOptions().position(latLng).icon(BitmapDescriptorFactory.fromResource(R.drawable.orangedoticon)).title("helo0o0"));