Маркер не появится - PullRequest
       8

Маркер не появится

0 голосов
/ 20 сентября 2018

Я пытаюсь поставить маркер на своих картах Google, синхронизированных с FireBase, и у меня не было проблем с этим.проблема в том, что мой маркер не будет отображаться на mapFragment .... я думаю, что здесь есть ошибка:

mMap.addMarker(new MarkerOptions()
                        .position(location)
                        .title(user.name).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)));

так вот мой код

public class ChooseGoogleMaps extends FragmentActivity implements 
OnMapReadyCallback,LocationListener,GoogleMap.OnMarkerClickListener{
private GoogleMap mMap;
private ChildEventListener mChildEventListener;
private DatabaseReference mUsers;
Marker marker;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_choose_google_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to 
be used.
    SupportMapFragment mapFragment = (SupportMapFragment) 
getSupportFragmentManager()
            .findFragmentById(R.id.otherMap);
    mapFragment.getMapAsync(this);
    ChildEventListener mChildEventListener;
    mUsers= FirebaseDatabase.getInstance().getReference("Users");
    mUsers.push().setValue(marker);

}


@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;
    googleMap.setOnMarkerClickListener(this);
    googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
    mUsers.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot s : dataSnapshot.getChildren()){
                UserInformation user = s.getValue(UserInformation.class);
                assert user != null;
                LatLng location=new LatLng(user.latitude,user.longitude);
                mMap.addMarker(new MarkerOptions()
                        .position(location)
                        .title(user.name).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)));

            }
        }

xml code: (пожалуйстане судите мой грязный код, я новичок в этом ...)

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

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

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

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".MapsActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".Login.Login">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".Genre">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".All_Area" />
    <activity android:name=".Choose_Area" />
    <activity android:name=".Near_Me" />
    <activity android:name=".Popular" />
    <activity android:name=".Bookmarked" />
    <activity android:name=".Login.PasswordActivity" />
    <activity android:name=".Login.ProfileActivity" />
    <activity android:name=".Login.RegistrationActivity" />
    <activity android:name=".Login.UpdatePassword" />
    <activity android:name=".Login.UpdateProfile" />
    <activity
        android:name=".DetailActivity"
        android:parentActivityName=".home" />

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

    <uses-library
    android:name="org.apache.http.legacy"
    android:required="false" />

    <activity android:name=".SplashScreen">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>
    <activity
        android:name=".ChooseGoogleMaps"
        android:label="@string/title_activity_choose_google_maps" />

</application>

и вот журнал:

13:15   Emulator: 

13:15   Emulator: This application has requested the Runtime to terminate it 
in an unusual way.

13:15   Emulator: Please contact the application's support team for more 
information.

13:15   Gradle build finished with 1 error(s) in 30s 304ms

13:16   Emulator: Process finished with exit code 255

13:16   Executing tasks: [:app:assembleDebug]

13:16   Gradle build finished with 1 error(s) in 16s 836ms

13:18   Emulator: ANGLE: egl::`anonymous- 
namespace'::CreateDisplayFromAttribs: make D3D display

13:18   Emulator: ANGLE: D3D11: rx::Renderer11::generateConfigs

13:18   Emulator: Process finished with exit code 0

13:21   Executing tasks: [:app:assembleDebug]

13:22   Gradle build finished with 1 error(s) in 1m 0s 160ms

1 Ответ

0 голосов
/ 20 сентября 2018

проверьте следующее

1 - у вас есть доступ к Интернету и разрешение на доступ к Интернету в вашем манифесте

2 - чтобы данные пользователя были получены правильно, добавив «данные» внутри данныхизмените, чтобы указать ошибку

3 - если в вашем журнале есть что-либо напечатанное, пожалуйста, покажите нам это и просмотрите ваш XML-код на всякий случай

Примечание: этот код будет продолжать добавлять маркеры, не обновляя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...