Лодки LWC SuperBadge Challenge 7NearMe Error

Мой компонент работает нормально, и я вижу, что он работает правильно с картами, сформированными в пользовательском интерфейсе, и маркерами, подходящими правильно, однако я все еще получаю эту ошибку для задачи:

Задача Еще не завершена ... вот что не так: мы не можем найти правильные настройки для функции createMapMarkers () в JavaScript-файле компонента boatNearMe. Убедитесь, что компонент был создан в соответствии с требованиями, включая правильные mapMarkers, заголовок, широту (Geolocation__Latitude__s), долготу (Geolocation__Longitude__s), правильные константы, остановку загрузочного счетчика, а также правильную чувствительность к регистру и последовательную цитату.

Это Заявление Вызова 7 согласно следу:

Создайте компонент boatNearMe и отобразите лодки рядом с вами Создайте компонент boatNearMe и покажите лодки, которые находятся рядом с пользователем, используя местоположение браузера и тип лодки. Отображать их на карте всегда с согласия пользователя (и только пока страница открыта). https://trailhead.salesforce.com/en/content/learn/superbadges/superbadge_lwc_specialist

Вот код моей лодки NearMe LWC

import { LightningElement, wire, api } from 'lwc';
import getBoatsByLocation from '@salesforce/apex/BoatDataService.getBoatsByLocation';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';

const LABEL_YOU_ARE_HERE = 'You are here!';
const ICON_STANDARD_USER = 'standard:user';
const ERROR_TITLE = 'Error loading Boats Near Me';
const ERROR_VARIANT = 'error';

export default class BoatsNearMe extends LightningElement {
    @api boatTypeId;
    mapMarkers = [];
    isLoading = true;
    isRendered = false;
    latitude;
    longitude;

    @wire(getBoatsByLocation, { latitude: '$latitude', longitude: '$longitude', boatTypeId: '$boatTypeId' })
    wiredBoatsJSON({ error, data }) {
        
        if (data) {
            this.isLoading = true;
            this.createMapMarkers(JSON.parse(data));
            
        } else if (error) {
            this.dispatchEvent(
                new ShowToastEvent({
                    title: ERROR_TITLE,
                    message: error.body.message,
                    variant: ERROR_VARIANT
                })
            );
           // this.isLoading = false;
        }
    }

    getLocationFromBrowser() {
        navigator.geolocation.getCurrentPosition(
            position => {
                this.latitude = position.coords.latitude;
                this.longitude = position.coords.longitude;
            },
            (error) => {}
        );
    }

    createMapMarkers(boatData) {

        const newMarkers = boatData.map((boat) => {
            return {
                location: {
                    Latitude: boat.Geolocation__Latitude__s,
                    Longitude: boat.Geolocation__Latitude__s
                },
                title: boat.Name,
            };
        });

        newMarkers.unshift({
            location: {
                Latitude: this.latitude,
                Longitude: this.longitude
            },
            title: LABEL_YOU_ARE_HERE,
            icon: ICON_STANDARD_USER
        });

        this.mapMarkers = newMarkers;
        this.isLoading = false;

    }

    renderedCallback() {
        if (this.isRendered == false) {
            this.getLocationFromBrowser();
        }
        this.isRendered = true;
    }
}

person Artee Rawat    schedule 04.08.2020    source источник
comment
ошибка говорит: Убедитесь, что компонент был создан в соответствии с требованиями ... так что вы также можете разместить требования здесь ...   -  person Argee    schedule 04.08.2020
comment
Обновлены вопросы с формулировкой задачи и ссылкой на путеводитель.   -  person Artee Rawat    schedule 09.08.2020


Ответы (1)


Я думаю, у вас Geolocation__Latitude__s дважды в этой части:

    createMapMarkers(boatData) {

        const newMarkers = boatData.map((boat) => {
            return {
                location: {
                    Latitude: boat.Geolocation__Latitude__s,
                    Longitude: boat.Geolocation__Latitude__s // <<-- should be Longitude
                },
                title: boat.Name,
            };
        });
person Fab    schedule 27.08.2020
comment
Это не дает ответа на вопрос. Когда у вас будет достаточная репутация, вы сможете комментировать любой пост; вместо этого предоставит ответы которые не требуют пояснений от автора вопроса. - Из отзыва - person Nico Haase; 28.08.2020
comment
Послушайте, это не решает более серьезную проблему, о которой спрашивают, но определенно устраняет другую ошибку, которая довольно быстро вызовет проблемы. Я думаю, что в этом ответе все еще есть достоинства. - person torpy; 31.08.2020