您可以尝试 2 种更改来通过挑战,
从 getCurrentPosition 的回调函数中删除位置周围的括号
按照以下步骤纠正mapMarkers创建代码传递给的数据createMapMarkers
格式如下,
'[{"attributes":{"type":"Boat__c","url":"/services/data/v48.0/sobjects/Boat__c/a022w000006RA28AAG"},"Name":"三亚","地理位置__Latitude__s": 24.8513290,"Geolocation__Longitude__s":119.4862410,"Id":"a022w000006RA28AAG"},{"attributes":{"type":"Boat__c","url":"/services/data/v48.0/sobjects/Boat__c/a022w000006RA2DAAW "},"Name":"Longxue","Geolocation__Latitude__s":22.6216820,"Geolocation__Longitude__s":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 方法中创建之后将其设置为 false。
希望这对你有用:)