uni-app map插件需求

发布于 1周前 作者 sinazl 来自 Uni-App

uni-app map插件需求

想用ucharts实现一个类似附件上的地图

图片

2019-12-09 15:45

2 回复

592944557 OR 1196097915 ,原生插件找我~


针对uni-app中map插件的需求,我们可以实现一个基本的地图展示功能,并添加一些常用的功能点,比如定位当前位置、标记点等。以下是一个简单的代码示例,展示了如何在uni-app中使用map插件。

首先,确保你的uni-app项目已经创建并配置好。然后,在你的页面文件中(比如pages/index/index.vue),可以按照以下步骤实现地图功能。

1. 页面模板(template)

<template>
  <view class="container">
    <map
      id="map"
      :longitude="longitude"
      :latitude="latitude"
      :scale="scale"
      :markers="markers"
      show-location
      style="width: 100%; height: 100%;"
      @locationchange="onLocationChange"
    ></map>
    <button @click="centerLocation">定位到当前位置</button>
  </view>
</template>

2. 脚本部分(script)

<script>
export default {
  data() {
    return {
      longitude: 116.397428, // 默认经度
      latitude: 39.90923,    // 默认纬度
      scale: 14,             // 默认缩放级别
      markers: []            // 标记点数组
    };
  },
  methods: {
    onLocationChange(e) {
      this.longitude = e.detail.longitude;
      this.latitude = e.detail.latitude;
      this.markers = [
        {
          id: 1,
          latitude: e.detail.latitude,
          longitude: e.detail.longitude,
          title: '当前位置'
        }
      ];
    },
    centerLocation() {
      const that = this;
      uni.getLocation({
        type: 'gcj02', // 返回可以用于uni.openLocation的经纬度
        success(res) {
          that.longitude = res.longitude;
          that.latitude = res.latitude;
          that.markers = [
            {
              id: 1,
              latitude: res.latitude,
              longitude: res.longitude,
              title: '当前位置'
            }
          ];
        }
      });
    }
  }
};
</script>

3. 样式部分(style)

<style scoped>
.container {
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
button {
  margin-top: 10px;
}
</style>

说明

  1. 模板部分:使用<map>组件展示地图,并绑定相关属性和事件。
  2. 脚本部分:定义了地图的初始经纬度、缩放级别和标记点数组。通过onLocationChange方法处理位置变化事件,更新经纬度和标记点。centerLocation方法用于手动定位到当前位置。
  3. 样式部分:简单的样式布局,使地图占据整个视口高度,按钮位于底部。

这个示例展示了如何在uni-app中使用map插件实现基本的地图功能,你可以根据实际需求进一步扩展和定制。

回到顶部