我有一个 fourLoop 调用我的函数 addMarker,但我只得到一个循环的结果。我嵌套在循环中的控制台日志返回正确的数组长度。我对这个问题很好奇,因为我怀疑我对某些概念缺乏关注。这是针对 Google 地图、地点和地理编码 API 的(为了安全起见,我删除了我的密钥,因此如果您只是通读 initMap 函数,所有相关问题都在该范围内)。
更新:我记录了“loopData”,我得到了正确的迭代次数,但它只是来自最后一个索引的数据。这让我指向了 forLoop 中的错误,我在其中解析了来自 Google 的初始响应地点 API。那里的代码是这个块:(以下代码块的目的是迭代对象数组,并在每次迭代时获取某些值,并将这些值推送到收集对象的新数组“placesDataLocations”。对现在我得到了正确数量的对象,但每个对象都与我的 API 响应数据的最后一个合格对象具有完全相同的值。)
const gym = {}
const placesDataLocations = []
for (let i = 0; i < placesData.results.length; i++) {
if (placesData.results[i].business_status === 'OPERATIONAL') {
// Array of Objects in form {gym: {id: 10, quantity: 10} }
gym.location = placesData.results[i].geometry.location
gym.name = placesData.results[i].name
gym.address = placesData.results[i].vicinity
placesDataLocations.push({ gym: gym })
}
}
console.log(placesDataLocations)
initMap(googleGeocodeLat, googleGeocodeLng, placesDataLocations)
})
初始 API 响应数据如下所示:
慕容3067478
相关分类