Android Google Maps v2 nicht zeigen, Kompass und Standort-Symbol

Ich bin nicht in der Lage zu zeigen, die compass Symbol und die my location Symbol entweder. Ich habe den code googleMap.getUiSettings.setMyLocationButtonEnabled(true) und googleMap.getUiSettings().setCompassEnabled(true); aber es zeigt nicht auf den Karten.

package com.ctc.weathermap;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.provider.Settings;
import android.widget.Toast;

public class WeatherMapActivity extends Activity implements LocationListener {

private GoogleMap googleMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.weather_maps_main);

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

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

    LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);

    boolean enabledGPS = service.isProviderEnabled(LocationManager.GPS_PROVIDER);
    boolean enabledWiFi = service.isProviderEnabled(LocationManager.NETWORK_PROVIDER);

    if (!enabledGPS) {
        Toast.makeText(this, "GPS signal not found", Toast.LENGTH_LONG).show();
        Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
        startActivity(intent);
    }
    else if(!enabledWiFi) {
           Toast.makeText(this, "Network signal not found", Toast.LENGTH_LONG).show();
           Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
           startActivity(intent);
    }

    initializeMap();
    googleMap.getUiSettings().setMyLocationButtonEnabled(true);
    googleMap.getUiSettings().setCompassEnabled(true);
}

private void initializeMap() {
    //check if map is created
    if(googleMap == null) {
        googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); //creates the map

        //check if map is created successfully or not
        if (googleMap == null) {
            Toast.makeText(getApplicationContext(),
                    "Map could not be created", Toast.LENGTH_SHORT)
                    .show();
        }
    }
}

@Override
protected void onResume() {
    super.onResume();
    initializeMap();
}

@Override
public void onLocationChanged(Location location) {
    googleMap.clear();
    MarkerOptions marker = new MarkerOptions().position(new LatLng(location.getLatitude(), location.getLongitude()));
    marker.title("Current location");   
    marker.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_CYAN));   
    googleMap.addMarker(marker);
    googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(location.getLatitude(), location.getLongitude()), 16));
}

@Override
public void onProviderDisabled(String arg0) {
    //TODO Auto-generated method stub

}

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

}

@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
    //TODO Auto-generated method stub

}

}

Den rest des Codes funktioniert wie Marker und was nicht. Ich habe versucht, den code für Ort und Kompass in initializeMap() aber noch nicht zeigen. Ich würde jede Hilfe zu schätzen wissen. Danke!

  • Versuchen Sie, diese..erst schreiben das googleMap.setMyLocationEnabled(true); und schreiben Sie dann sowohl die codes, die Sie geschrieben haben..
  • ok gut gemacht, dass die setMyLocationButton kommen Dank! Aber der Kompass-Symbol immer noch nicht angezeigt...
  • Ich denke, das Kompass-Symbol wird nur angezeigt, wenn Sie drehen Sie die Karte nicht ausrichten nach Norden.also bitte drücken Sie lange auf die Karte und ziehen Sie Sie...dann denke ich, werden Sie in der Lage, um zu sehen, der Kompass..
InformationsquelleAutor user2127726 | 2014-06-13
Schreibe einen Kommentar