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..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du havent aktiviert den mein-Standort-Ebene.Überprüfen Sie diese link für mehr details
Also bitte
bevor
Dadurch wird Ihr
setMyLocationButton
kommen..Und die Kompass-Symbol wird nur angezeigt, wenn Sie drehen Sie die Karte nicht ausrichten nach Norden.
setMyLocationEnabled(true)
macht Sinn...vielen Dank! der Kompass zeigt bis jetztpublic class MyMapFragment extends Fragment implements OnMapReadyCallback, LocationListener {
Könnte das der Grund sein?