-1

Я пытаюсь создать приложение MAP, основанное на местоположении, и когда я пытаюсь выполнить свое приложение, я могу просмотреть мои маркеры, добавленные в Mapsactivity, однако я не показываю карту по активностиНевозможно просмотреть googlemap в активности Maps

Я могу подтвердить, что у меня есть обеспечить правильный ключ карты для моей деятельности, получая ключ от console.developer.com и позволяет Google Maps для Android API

Пожалуйста, укажите, что может быть неправильно здесь

MapsActivity

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { 

private GoogleMap mMap; 
private final String TAG = "MapActivity"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_maps); 
    Log.d(TAG, "inside create Fragment"); 

    // Obtain the SupportMapFragment and get notified when the map is ready to be used. 
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
      .findFragmentById(R.id.map); 
    mapFragment.getMapAsync(this); 
    Log.d(TAG, "outside create Fragment"); 
} 

@Override 
public void onMapReady(GoogleMap map) { 
    SharedPreferences preferences= PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
    Double mLat = Double.parseDouble(preferences.getString("latitude","")); 
    Double mLon = Double.parseDouble(preferences.getString("longtitude","")); 
    Log.d(TAG, preferences.getString("latitude","")); 
    Log.d(TAG, preferences.getString("longtitude","")); 
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(mLat,mLon), 20)); 
    map.addMarker(new MarkerOptions().position(new LatLng(mLat,mLon))); 
    //map.setMyLocationEnabled(true); 
} 

}

Android Manifest

<?xml version="1.0" encoding="utf-8"?> 

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 

<uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true"/> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 

    <meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version"/> 

    <activity android:name=".MyGames"/> 

    <meta-data 
     android:name="com.google.android.geo.API_KEY" 
     android:value="@string/google_maps_key"/> 

    <activity 
     android:name=".MapsActivity" 
     android:label="@string/title_activity_maps"> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.android.wesport.MainActivity"/> 
    </activity> 
</application> 

Activity_maps.xml

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:map="http://schemas.android.com/apk/res-auto" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:id="@+id/map" 
     android:name="com.google.android.gms.maps.SupportMapFragment" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     tools:context=".MapsActivity"/> 

Imag e из эмулятора ![Image from Emulator

+0

Вы видите маркеры, но не видя карту? – Blackkara

+0

@ Блаккара, да, ты обряд. Маркеры добавляются в правильном месте, но карты не отображаются, я просто получаю пустой фон –

+1

Может ли ваша проблема связана с уровнем масштабирования (20)? Значит, вы просто видите серое пространство из-за увеличения? – Blackkara

ответ

1

Возможно, вы покажете пустыню на карте.

изменение Try:

map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(mLat,mLon), 20)); 

в

map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(mLat, mLon), 5)); 
+0

Это помогло. Я предоставил оригинальное увеличение 20 и даже изменил его на 10, но все еще не мог видеть карту, так как расположение моего эмулятора было совершенно иным –

Смежные вопросы