Frage

This is TrackMap.java

public class TrackMap extends FragmentActivity implements LocationListener {

    GoogleMap map;

    @SuppressLint("NewApi")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_track_map);

        boolean lowPowerMoreImportantThanAccurancy = true;
        LocationRequest request = LocationRequest.create();
        request.setPriority(lowPowerMoreImportantThanAccurancy ? 
                LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY: 
                LocationRequest.PRIORITY_HIGH_ACCURACY);

        map = ((SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map)).getMap();

        map.setMapType(GoogleMap.MAP_TYPE_NORMAL);

        LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

        lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);

        // Enabling MyLocation Layer of Google Map
        map.setMyLocationEnabled(true);

        Marker marker = map.addMarker(new MarkerOptions()
                .position(new LatLng(0, 0)).draggable(true)
                // Set Opacity specified as a float between 0.0 and 1.0,
                // where 0 is fully transparent and 1 is fully opaque.
                .alpha(0.7f).flat(true)
                .getPosition());

    }

    @Override
    public void onLocationChanged(Location location) {
        // TODO Auto-generated method stub
        map.clear();

        MarkerOptions mp = new MarkerOptions();

        mp.position(new LatLng(location.getLatitude(), location.getLongitude()));

        mp.title("my position");

        map.addMarker(mp);

        map.animateCamera(CameraUpdateFactory.newLatLngZoom(
                new LatLng(location.getLatitude(), location.getLongitude()), 16));
    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub

    }



}

I wonder why it keep points to my current position while I viewing other parts of the map. Your help is very much appreciated.I doesn't really know what to delete the particular code to suit my needs

War es hilfreich?

Lösung

because every time onLocationChanged is called you animate camera to the new location passed in.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top