How to get breiten-und Längengrad der aktuellen Position in Android?

Habe ich ein Fragment, in dem ich zeigen möchte, aktuellen Standort der Benutzer(Gerät). Ich benutze Google-Karte Android API v2. Wie erhalten Sie die aktuellen Längen-und Breitengrad Gerät?

Hier unten sehen Sie code, die ich verwendet. Leider funktioniert die app falsche, nicht wie ich erwartet hatte. Es zeigen nur anzeigen, aber es gibt keine Markierung, die ich eingestellt habe und keine aktuellen Standort. Kann das jemand prüfen und korrigieren? Was mache ich falsch? Vielen Dank für jede Hilfe!!!

EDIT:

MainFragment.java

public class MainFragment extends Fragment{

    private SupportMapFragment mSupportMapFragment;
    private GoogleMap mGoogleMap;

    public BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {

        Bundle extras = intent.getExtras();
        LatLng temp = new LatLng(extras.getDouble("Latitude"),extras.getDouble("Longitude"));
    }
    };

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        FragmentManager mFragmentManager = getChildFragmentManager();
        mSupportMapFragment = (SupportMapFragment) mFragmentManager.findFragmentById(R.id.map_container);
        if (mSupportMapFragment == null) {
            mSupportMapFragment = SupportMapFragment.newInstance();
            mFragmentManager.beginTransaction().replace(R.id.map_container, mSupportMapFragment).commit();
        }

        //Broadcast/Filter
        IntentFilter filter = new IntentFilter();
        filter.addAction(LocationService.BROADCAST_ACTION);
        getActivity().registerReceiver(receiver, filter);
    }

    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
           //Start service
           getActivity().startService(new Intent(getActivity(),LocationService.class));
    }

    @Override
    public void onResume(){
         receiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {

            Log.d(TAG, "BroadcastReceiver works!");

            Bundle extras = intent.getExtras();
            final LatLng temp = new LatLng(extras.getDouble("Latitude"),extras.getDouble("Longitude"));

            if (mGoogleMap != null) {
                mGoogleMap = mSupportMapFragment.getMap();
                mGoogleMap.addMarker(new MarkerOptions().position(temp).title("Marker").snippet("Location"));
            }
            try {
                CameraUpdate center = CameraUpdateFactory.newLatLng(temp);
                CameraUpdate zoom = CameraUpdateFactory.zoomTo(15f);
                mGoogleMap.moveCamera(center);
                mGoogleMap.animateCamera(zoom);
            }catch (NumberFormatException e) {
                //Some code here for exception
            }
        }
    };
    }

    @Override
    public void onDetach() {
        super.onDetach();
        try {
            Field childFragmentManager = Fragment.class.getDeclaredField("mChildFragmentManager");
            childFragmentManager.setAccessible(true);
            childFragmentManager.set(this, null);
        } catch (NoSuchFieldException e) {
            throw new RuntimeException(e);
        } catch (IllegalAccessException e) {
            throw new RuntimeException(e);
        }
    }
}

fragment_main.xml

<RelativeLayout
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:id="@+id/map_container">

       <!-- The map fragments will go here -->
</RelativeLayout>
Hinzufügen Sie können Ihre eigenen Fehler-log?
Getestet habe ich es im real-Gerät. Getestet habe ich mit latitude und longitude Werte, die ich gerade schrieb und zome es also in diesem Fall funktionierte es. Ich habe auch versucht zu testen im emulator die Google-APIs gab es aber Fehler mit dem Speicher.
Hallo @Muthu ich bearbeitete meinen post. Jetzt muss ich nur sehen die Karte und die, die es nicht zeigen, Markierung und aktuelle Position. Bitte können Sie überprüfen, code der post wieder und sagen was falsch? Vielen Dank und einen schönen Tag!
wenn du möchtest, könnte ich mein Anteil an der Arbeit Ort-service-code.
Ich denke, es wird nützlich sein für mich, wenn du mir dein Beispiel @Muthu.

InformationsquelleAutor Nurzhan Nogerbek | 2015-02-08

Schreibe einen Kommentar