收藏
回答

如何用循环实现,查询云数据库中的数据并在map上显示markers?

//搜索栏的事件

   formSubmit: function (e) {

    

    var that = this;

    var formData = e.detail.value.keyword;

    wx.showLoading({

      title: '搜索中',

      icon: 'loading'

     })


    //console.log('输入',this.data.value)


    const db = wx.cloud.database()

    var that = this

    db.collection('hosp').where({   //"hosp"是要查询的云开发数据库合集的名字

 //使用正则查询,实现对搜索的模糊查询

    nam: db.RegExp({   //这里的"医院名称"是自己需要查找的字段名

    regexp: formData,

    //从搜索栏中获取的value作为规则进行匹配。

    options: 'i',

    //大小写不区分

    })

    }).get({

      success: res => {

        //var queryResult= JSON.stringify(res.data, null, 2)

        //const countResult = await db.collection('hosp').count()

      for (var i = 0; i<res.data.length; i++)

      {

        that.setData({

        isShowLayer:true,

          queryResult:JSON.stringify(res.data, null, 2),

          //lon:JSON.stringify(res.data[i].lon),

          //lat:JSON.stringify(res.data[i].lat),

          list: res.data,

          

          allmarkers:{ id: res.data[i].id, 

            iconPath: '/image/location.png', 

            latitude: res.data[i].lat, 

            longitude: res.data[i].lon,  

            callout: {content: 'res.data.nam'}, },

        })


      

        console.log('[数据库] [查询记录] 成功: ', res)

        wx.hideLoading();

      }

      const markers=allmarkers

      that.setData({ 

        markers,

        customCalloutMarkerIds: [1],

             })

      },


      fail: err => {

        wx.showToast({

          icon: 'none',

          title: '查询记录失败'

        })

        console.error('[数据库] [查询记录] 失败:', err)

      }

    })

  

     },



!主要问题是!我在查询那一步里弄好了markers但它不是全局变量,后面引用不了,怎么解决Qwqwqwqwq

最后一次编辑于  2021-07-25
回答关注问题邀请回答
收藏
登录 后发表内容