Android Studio / FireBase / Maps: попытка извлечь из базы данных, но получить UncaughtException [дубликат]

Вы можете использовать панды.

Вот пример со списком:

In: import pandas as P
In: P.set_option('display.precision',3)
In: L = [3.4534534, 2.1232131, 6.231212, 6.3423423, 9.342342423]
In: P.Series(data=L)
Out: 
0    3.45
1    2.12
2    6.23
3    6.34
4    9.34
dtype: float64

Если у вас есть dict d, и вы хотите, чтобы его ключи были строками:

In: d
Out: {1: 0.453523, 2: 2.35423234234, 3: 3.423432432, 4: 4.132312312}

In: P.DataFrame(index=d.keys(), data=d.values())
Out:  
    0
1   0.45
2   2.35
3   3.42
4   4.13

И еще один способ дать dict DataFrame:

P.DataFrame.from_dict(d, orient='index')
4
задан Frank van Puffelen 16 December 2016 в 21:53
поделиться

2 ответа

Создайте свой собственный класс модели LatLng вместо того, чтобы использовать его в библиотеке Google Maps, потому что ему не хватает публичного конструктора в реализации.

public class LatLng {
    private Double latitude;
    private Double longitude;

    public LatLng() {}

    ... public getter ...
}

EDIT: как преобразовать это LatLng в com.google.android.gms.maps.model.LatLng

com.google.android.gms.maps.model.LatLng mapsLatLng = 
    new com.google.android.gms.maps.model.LatLng(latLng.getLatitude(),
                                                 latLng.getLongitude());
8
ответ дан Wilik 15 August 2018 в 15:07
поделиться
  • 1
    У меня проблема с этим, потому что я использую круг и маркер Google Maps. Поэтому, когда я избавляюсь от Карт Google Maps LatLng и создаю свой собственный, я получаю сообщение об ошибке на маркерах и кругах, так как они запрашивают Google Maps LatLng. – Juan Sierra 17 December 2016 в 03:09
  • 2
    @JuanSierra да, вы не можете напрямую использовать другие методы LatLng для Google Maps. Вот почему вам нужно преобразовать его обратно в LatLng Google Maps. Посмотрите мой обновленный ответ. – Wilik 17 December 2016 в 06:44
  • 3
    @Wilik, где происходит конверсия? – Atticus29 21 June 2017 в 19:35

У меня была аналогичная проблема, когда я пытался передать Timestamp в базу данных. В то время как getter работал, и мои данные были правильно настроены на базу данных в реальном времени с помощью push, чтение данных с помощью DataSnapshot из ChildEventListener разбило мое приложение с ошибкой, потому что также у класса Timestamp нет публичного cunstructor без каких-либо аргументов. Поэтому я создал свою собственную временную метку класса, которая расширила исходный класс timestamp java, добавив отсутствующий публичный конструктор без аргументов.

public class Timestamp extends java.sql.Timestamp {

public Timestamp(long time) {
    super(time);
}

public Timestamp(){
    super(System.currentTimeMillis());

}

Затем мне пришлось включить также необходимые сеттеры (как читать из предупреждений при использовании мой новый класс)

1
ответ дан Majo 15 August 2018 в 15:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: