Nano Hash - криптовалюты, майнинг, программирование

Не удается получить доступ к данным в моментальном снимке firestore, чтобы добавить маркеры на карты Google, хранящиеся в Firebase.

Мне нужна помощь в доступе к данным в снимке firebase firestore, мне нужны широта и долгота. У меня есть оба поля в базе данных, а также Geopoint. Я вижу данные в console.log, но не могу получить доступ к отдельным значениям. До сих пор я пробовал разные способы, здесь, с doc.latitude или doc.longitude, я не получаю ошибок, но также не могу получить данные.

function initialize() {
    var latlng = new google.maps.LatLng(18.465733327729314, -69.93029399778331);
    var myOptions = {disableDefaultUI: true, zoom: 9, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP };
    var map = new google.maps.Map(document.getElementById("map"), myOptions);

    db = firebase.firestore();

    db.collection("GranSantoDomingo").get().then((querySnapshot) => {

    querySnapshot.forEach((doc) => {
        console.log(doc.id, "=>", doc.data());

        var marker = new google.maps.Marker({
                position: {lat: parseFloat(doc.latitude), lng: parseFloat(doc.longitude)},
                map: map,
            });
    }
    
    );
});

}

Система не позволяет мне опубликовать изображение, но структура данных такая:

{
     "location":"Geopoint(18.7611489,-69.0386113)",
     "sector":"EL SEIBO I  ",
     "calle":"Av. MANUELA DIEZ ( EN LA GERENCIA)",
     "latitude":"18.7611489",
     "longitude":"-69.0386113"
  }

  • Я предполагаю, что вы пытаетесь получить доступ к marker вне обратного вызова, где он определен и заполнен. Данные из базы данных можно использовать только в коде внутри обратного вызова или вызываемом оттуда. См. stackoverflow.com/questions/64654873/, stackoverflow.com/questions/52488087/ и многое другое из stackoverflow.com/ 18.03.2021

Ответы:


1

Понятно! Правильный способ получить элементы:

    function initialize() {
    var latlng = new google.maps.LatLng(18.465733327729314, -69.93029399778331);
    var myOptions = {disableDefaultUI: true, zoom: 9, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP, zoomControlsEnabled: true,
                    LocationEnabled: true,
                    LocationButtonEnabled: true, };
    var map = new google.maps.Map(document.getElementById("map"), myOptions);

    db = firebase.firestore();

    db.collection("GranSantoDomingo").get().then((querySnapshot) => {

    for (i = 0; i < querySnapshot.docs.length; i++) {        
        var Latitude = (querySnapshot.docs[i].data().latitude);
        var Longitude = (querySnapshot.docs[i].data().longitude);

        var marker = new google.maps.Marker({
                position: {lat: parseFloat(Latitude), lng: parseFloat(Longitude)},
                map: map,
                
            });   
    }
});

}
18.03.2021
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..