Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Salesforce Lightning Web组件专家超级徽章:挑战7_Salesforce_Salesforce Lightning_Lwc - Fatal编程技术网

Salesforce Lightning Web组件专家超级徽章:挑战7

Salesforce Lightning Web组件专家超级徽章:挑战7,salesforce,salesforce-lightning,lwc,Salesforce,Salesforce Lightning,Lwc,我在解决挑战7时遇到问题,我在JS文件中有必需的导入和必需的函数。仍然#Trailhead给出错误: 在组件boatsNearMe控制器中找不到getLocationFromBrowser()函数。确保组件是根据要求创建的,包括使用“getCurrentPosition()”获取导航器的地理位置、带有“position=>”的箭头符号、从位置获取坐标,并使用适当的大小写敏感度将它们分配给控制器的属性“latitude”和“longitude” ----删除了代码部分以遵守Trailhead的策

我在解决挑战7时遇到问题,我在JS文件中有必需的导入和必需的函数。仍然#Trailhead给出错误:

在组件boatsNearMe控制器中找不到getLocationFromBrowser()函数。确保组件是根据要求创建的,包括使用“getCurrentPosition()”获取导航器的地理位置、带有“position=>”的箭头符号、从位置获取坐标,并使用适当的大小写敏感度将它们分配给控制器的属性“latitude”和“longitude”

----删除了代码部分以遵守Trailhead的策略----


我想这是我在代码中遗漏的东西。

验证代码非常挑剔。如果你去掉单词position周围的括号,我认为它会起作用。

你对地理位置纬度和经度的引用缺少一个“u”

它们是这样的(单下划线)

rowBoat.Geolocation\u lation\u s

这需要像这样(双下划线)

rowBoat.地理位置纬度

我还没有看完所有的代码,但至少这些代码看起来是错误的。
另外,不确定在这种情况下是否需要
@track

您可以尝试2次更改以通过挑战

  • 从getCurrentPosition的回调函数中删除position周围的括号

  • 按照以下步骤更正mapMarkers创建代码 传递给
    createMapMarkers
    的数据格式如下:

    “[{”attributes:{”type:“Boat_uuuuc”,“url:“/services/data/v48.0/sobjects/Boat_uuuc/a022w000006RA28AAG”},“Name:“sania”,“Geolocation_uulation_uuus:”24.8513290,“geology_uuuuuuuuuuuuuuuuuus:”119.4862410,“Id:”a022w000006RA28AAG“},{”attributes:“{”type:”Boat:“Boat_uuuuuc”,“url:”services/data/v48.0/sobjects/Boat_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu,“地理位置经纬度”:22.6216820,“地理位置经纬度”:113.7630620,“Id:“a022w000006RA2DAAW”}”

  • 因此,您可以使用JSON.parse(boatData)对其进行解析,然后对其调用map()函数

    this.mapMarkers = JSON.parse(boatData).map((rowBoat) => {
      return {
        location: {
          Latitude: rowBoat.Geolocation__Latitude__s,
          Longitude: rowBoat.Geolocation__Longitude__s
        },
        title: rowBoat.Name
      };
    });
    
    并且一定要使用双下划线从地理位置访问纬度和经度,如上图所示

    还有一点,在创建mapMarkers之前将isLoading设置为true,在createMapMarkers方法中创建isLoading之后将其设置为false


    希望这对您有用:)

    请在您的回答中添加更多信息和来源我在boatData之前缺少JSON.parse语句。感谢帮助@Arin。很高兴知道它正在工作,您能够通过挑战@the_phantom