返回

输入提示:从高德地图微信小程序SDK中打开新大门

前端

闲来无事,闲来无事写一篇使用高德地图微信小程序SDK开发应用的实例。我们这次的任务是根据用户输入的关键词,给出相应的提示信息,列表中显示地方的名称,地方的详细地址以及对应的经纬度坐标。当然在UI上我们尽量做到理想的视觉与较好的用户体验。

我们将首先从高德开放平台获取微信小程序SDK以及开发密钥,然后在我们的微信小程序项目中导入SDK。接下来,我们将创建一个名为index.js的文件,并在其中编写代码以实现输入提示功能。在index.js文件中,我们将首先导入高德地图微信小程序SDK,然后创建一个高德地图对象。接下来,我们将创建一个输入框,并监听用户输入。当用户输入时,我们将使用高德地图对象的输入提示API来获取相应的提示信息。最后,我们将把提示信息显示在列表中。

为了使我们的应用更具交互性,我们还可以添加一个标记功能。当用户点击列表中的某个提示信息时,我们将在地图上标记该地点。为了实现标记功能,我们需要创建一个名为marker.js的文件,并在其中编写代码以创建标记。在marker.js文件中,我们将首先导入高德地图微信小程序SDK,然后创建一个高德地图对象。接下来,我们将创建一个标记对象,并将其添加到地图上。最后,我们将在地图上显示标记。

至此,我们的输入提示应用就完成了。这是一个简单的应用,但它展示了如何使用高德地图微信小程序SDK来实现输入提示功能。您可以根据自己的需要对应用进行扩展,例如添加更多功能或改进UI。

以下是完整代码:

// index.js
const amap = require('amap-wx.js')
const myAmapFun = new amap.AMapWX({key: '你的高德地图开发密钥'})

Page({
  data: {
    inputVal: '',
    tips: []
  },
  // 输入提示
  inputTips(e) {
    this.setData({
      inputVal: e.detail.value
    })
    let keywords = e.detail.value
    myAmapFun.getInputtips({
      keywords: keywords,
      location: '',
      success: (res) => {
        this.setData({
          tips: res.tips
        })
      }
    })
  },
  // 选择提示
  selectTip(e) {
    const item = e.currentTarget.dataset.item
    const {name, address, location} = item
    wx.setStorageSync('location', location)
    wx.navigateTo({
      url: `/pages/map/map?name=${name}&address=${address}`
    })
  }
})

// marker.js
const amap = require('amap-wx.js')
const myAmapFun = new amap.AMapWX({key: '你的高德地图开发密钥'})

Page({
  data: {
    markers: []
  },
  onLoad: function(options) {
    const {name, address, location} = options
    this.setData({
      markers: [{
        id: 1,
        longitude: location.split(',')[0],
        latitude: location.split(',')[1],
        title: name,
        snippet: address
      }]
    })
  }
})

我希望这个实例对您有所帮助。如果您有任何其他问题,请随时与我联系。