2016-05-03 20 views
0

Iが廃止予定されているこのコード私の位置情報はどのように入手できますか? [アンドロイド]

private void centerMapOnMyLocation() { 

    map.setMyLocationEnabled(true); 

    location = map.getMyLocation(); 

    if (location != null) { 
     myLocation = new LatLng(location.getLatitude(), 
       location.getLongitude()); 
    } 
    map.animateCamera(CameraUpdateFactory.newLatLngZoom(myLocation, 
      Constants.MAP_ZOOM)); 
} 

しかしgetMyLocation()を発見しました。 どのように私は私の場所を決定し、マップ上にこれを最初に表示することができます。今

私のコードは次のとおりです。

public class FragmentMap extends Fragment implements OnMapReadyCallback { 

    MapView mapView; 
    GoogleMap map; 
    TextView t1, t2; 
    private Marker marker; 

    public FragmentMap() { 
     // Required empty public constructor 
    } 


    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View v = inflater.inflate(R.layout.fragment_map, container, false); 
     t1 = (TextView) v.findViewById(R.id.textView); 
     t2 = (TextView) v.findViewById(R.id.textView2); 
     mapView = (MapView) v.findViewById(R.id.mapview); 
     mapView.onCreate(savedInstanceState); 
     mapView.getMapAsync(this); 

     return v; 
    } 


    @Override 
    public void onMapReady(GoogleMap googleMap) { 
     map = googleMap; 
     map.getUiSettings().setZoomControlsEnabled(true); 
     map.setMapType(GoogleMap.MAP_TYPE_NORMAL); 
     map.setMyLocationEnabled(true); 
     map.setOnMyLocationButtonClickListener(myLocationButtonClickListener); 

    } 



    private GoogleMap.OnMyLocationButtonClickListener myLocationButtonClickListener = new GoogleMap.OnMyLocationButtonClickListener() { 
     @Override 
     public boolean onMyLocationButtonClick() { 
      Location location = map.getMyLocation(); 
      LatLng loc = new LatLng(location.getLatitude(), location.getLongitude()); 
      t1.setText(valueOf(location.getLatitude())); 
      t2.setText(valueOf(location.getLongitude())); 
      marker = map.addMarker(new MarkerOptions().position(loc)); 
      if(map != null){ 
       map.animateCamera(CameraUpdateFactory.newLatLngZoom(loc, 16.0f)); 
      } 
      return false; 
     } 
    }; 

私はdevelopers.android.comを読むが、答えを見つけることができます。 地図上に自分の現在地を表示するだけでいいです。 Noghing more

+0

ここでは多くの例を見ましたが、このサイトです。 Everybode use getMyLocation() –

+0

私はここで好きでしたhttp://stackoverflow.com/a/16005386/6277732わたしにはできる! –

答えて

0

以下の行はあなたに現在のlatとlngを与えます。

 double current_lat = mLastLocation.getLatitude(); 
     double current_longi = mLastLocation.getLongitude(); 


    it worked for me to get current location.Please follow this link for more details. 

https://github.com/abhishekujjain/BasicMapsDemo

+0

私はあなたの助けに感謝しています –

+0

@EvgenyGooDi:問題を解決した場合は、この回答を受け入れてください。 – Justcurious

0

このtutorialは、Androidで位置情報サービスを習得するのに役立ちます。 GPSとネットワークロケーションプロバイダの2種類のロケーションプロバイダから選択できます。ここで

は、Androidでの位置を取得する手順は、次のとおりです

  1. は、位置更新

  2. を受信するためのマニフェストファイルのアクセス権を提供する位置情報サービス

  3. 要求への参照としてLocationManagerインスタンスを作成します。ロケーションはLocationManager

  4. だけtutorial上の手順に従っ詳細と例コードの位置

の変化にLocationListenerから位置更新を受信します。

これもチェックしてください。SO question、それはあなたに役立つと思います。

+0

私はそれを試してみる.... –

関連する問題