npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ry-vue-map

v0.6.1

Published

ry公共组件库

Downloads

141

Readme

ryvuemap

ryui-version

ry公共组件库

更新日志

增加禁用切换地图功能

安装

npm i ry-vue-map
yarn add ry-vue-map

快速开始

main.js

import Vue from 'vue'
import RyUI from 'ry-vue-map';

Vue.use(RyUI)

组件

RyMap

map/index.vue

<template>
  <ry-map
     projection="EPSG:4326" // 投影方式 (可不传)
    :mapType="1" // 地图类型 1为天地图 不填为bing地图
    :zoom="15" // 地图缩放率  默认为10(可不传)
    :minZoom="1" // 地图最下缩放率 默认为1(可不传)
    :maxZoom="28" // 地图最大缩放率 默认为18(可不传)
    :bbox="bbox" // 自适应范围 [[x,y],[x,y]]   组件内部以有 watch 监听
    :center="center" // 设置地图中心点 [x,y] 组件内部以有 watch 监听
    @load="load($event)" // 地图加载成功后回调函数
    :isCrossHair="false"  // 是否显示十字点  默认fasle 不显示
    :isRight="true"  // 地图工具 显示方向    顶部 左 右  默认右上方(可不传)
    :isRyMapTool="true"   // 是否创建地图工具
    @drawSuccess="drawSuccess" // 绘制多边形成功后回调函数  {geoJson,delelte} delelte为回调函数用来清空绘制的多边形实例相当于工具栏中的删除功能
    @drawError="drawError"  // 绘制多边形出错后回调函数
    :isShowRangingTool="true" // 是否显示侧面、测距工具 默认显示(可不传)
    :isShowDrawTool="true" // 是显示绘制多边形工具 默认不显示
    :bindMapClick="true" //是否注册地图点击事件  true 注册 false 注销注册watch 监听
    @mapClick="mapClick($event)"  // 点击地图回调事件 注意:这里为了其回调函数代码少 只返回有有Id图层
    :initModifyPolygon="geoJson" // 初始化需要编辑的多边形 传入 geoJson或 字符串geoJson 用于地图编辑界面 isShowDrawTool=true时 才生效
    :m="3000"  // 地图中心点计算中心点距离 默认 单位m 默认3000m
    :bindMapMoveend="true"  绑定地图移动事件会根据zoom 缩放 以及地图移动时触发
    @mapMoveend="mapMoveend($event)" // 绑定地图移动事件后回调函数 会根据zoom 缩放 以及地图移动时触发 根据m参数设定的值返回 当前中心点与移动后的 中心点距离 {m,oversteSetValue}
    oversteSetValue 当前中心点 是否 大于等于 m 设定值 如果 超过 返回 true
     :hideAdd="true"   // 隐藏添加功能
      :hidePoint="true" // 隐藏打点功能
      :hideCancel="true"  // 隐藏取消功能
      :hideDelete="true" // 隐藏删除功能
      :hideSave="true" // 隐藏报错 功能
      :hideLine="true"  // 隐藏绘 隐藏测量线功能
      :hideArea="true"  // 隐藏测量面积功能
      // 点击绘制多边形或初始化编辑多边形触发返回 ryMapTool实例
      // 常用函数 $event  onCreatePolygon()// 创建多边形  onPointEvent() 打点功能 onCancel()撤销当前绘制 onDelete()删除多边形 onSave() 保存图形功能
      @loadDrawPolygonEvent="loadDrawPolygonEvent($event)"
     // 聚合控件
     <ry-clusters
     @callback="clusterCallback($event)"   // 返回值 {id,isShow}  id 多边形Id isShow true显示多边形
     :map="mapDto.map"  // 地图实例
     :modelArr="modelArr" // 与多边形组件数据结构相同即可
     :clusterPolygonModel // 集合多边形样式 {fillColor: 'rgba(184, 233, 134, 0.56)',stroke: 'rgba(23, 168, 162, 0.56)',width: 3, id:3,text:'块'}
     :
     >
     </ry-clusters>
    >
    <template slot="maptool">  // 工具栏 插槽
       <button>ry</button>
    </template>
// 多边形插槽
<template #polygon="{mapDto}" >
   <ry-polygon
   :isFit="true"  // 是根据多边形bbox 进行定位    true开启定位 false关闭
   :map="mapDto.map"  //地图实例
   :isShow="true"   // 是否显示多边形  true 显示
   :model="polygonModel"   //  数据模型  参考 data中的 polygonModel
   :text="123"  // 设置marker文本  注意 在model 添加text属性后才会创建文本标记 否则不创建
   :polygonColor="'red'" 动态设置多边形颜色
   :isCheckPointHide="true"    // 是否显示多边形  true 隐藏
   :clear="true" // 释放多边形 和 text标记  释放后不能在进行其他操作、在次给:model赋值可从新使用该组件
    @onLoad="onLoad($event)"    // 回调函数返回 多边形对象和标记对象 每次在释放或 model赋值才会触发
    >
    </ry-polygon>
     <ry-polygons
      :map="map"  //地图实例
      :modelArr="modelArr" //数据模型  在数据发生变化时会从新生成多边形
      :insert="insert" // 插入单个多边形  参照 polygonModel 数据结构
      :inserts="inserts" // 插入多个多边形  参照ModelArr 数据结构
      :isShowAl="true" // 显示或者隐藏所有多边形 true,显示  默认为 false  注意此处不会隐藏marker标记
      :isShowPolygon="isShowPolygon"// 隐藏或显示多个多边形 true显示 // 此处不会隐藏maker标记 数据结构 {id:'ceshis',isShow:false}
      :isShowPolygons="isShowPolygons" // 批量显示和隐藏多边形  [{id:'ceshis',isShow:false}]
      :restFit="false" 显示隐藏多边形后是否需要从新定位 true从新定位  默认为false
      :clear="true" //  true 为释放资源、默认为false 需要释放资源设置为true即可 或 modelArr 赋值为null [] 都可以
      :isCheckPointHideAll="isCheckPointHideAll" // 是否隐藏所有标记 true 为隐藏  注意隐藏标记 不会触发 restFit从新定位
      :isCheckPointHide="isCheckPointHide" // 是否显示隐藏单个标记  数据结构 {id:'ceshis',isShow:true}  isShow true 为隐藏  注意隐藏标记 不会触发 restFit从新定位
      :isCheckPointHides="isCheckPointHides" // 批量 是否显示标记 [{id:'ceshis',isShow:true} ]  isShow true 为隐藏  注意隐藏标记 不会触发 restFit从新定位
      :polygonColor="polygonColor"  //  设置多边形颜色  {id:'ceshi1',colorArr['red','#000'] } 数组中0为填充演示 1为边框演示
      :polygonColors="polygonColors"  // 批量设置多边形颜色 [{id:'ceshi1', colorArr:['red','#000'] }]
      :text="text" // 设置标记文本 {id:'ceshi1',text:'ceshiabc'}
      :isFit="true"// 是否根据bbox 设为中心点 默认为true,false则不在定位
      :remove="'ceshi1'" //  根据Id 释放多边形 和 标记
      :removes="['ceshi1']" //  根据Id数组 移除多边形 和标记
      :range="range"  根据传入的 Id 去进行定位
      :ranges="ranges" // 根据传入的Id数组进行定位
       @onLoad="onLoad($event)" // 回调函数 在插入、批量插入、modelArr发生变化时触发 返回{bboxMap, polygonMap,checkPointMap }
       @crossHairClick="crossHairClick($event)"  // 点击中心点或打点功能触发回调
     ></ry-polygons>
 </template>
   </ry-map>


<div>
    <h1>插槽外部使用方式</h1>
     <ry-polygon
    v-if="map"
   :isFit="true"
   :map="map"
   ......省略与上方多边形示例相同
   >
    </ry-polygon>
     <ry-polygons
    v-if="map"
   :isFit="true"
   :map="map"
   ......省略与上方多边形示例相同
   >
    </ry-polygons>

</div>

<h1>

      <RyMapTool
      @crossHairClick="crossHairClick($event)"  // 点击中心点或打点功能触发回调
       :isCrossHair="false" // 是否显示十字点  默认fasle 不显示
     :initModifyPolygon="geoJson" // 初始化需要编辑的多边形 传入 geoJson或 字符串geoJson 用于地图编辑界面
    :isRight="true"  // 地图工具 显示方向    顶部 左 右  默认右上方(可不传)
    :isRyMapTool="true"   // 是否创建地图工具
    @drawSuccess="drawSuccess" // 绘制多边形成功后回调函数  {geoJson,delelte} delelte为回调函数用来清空绘制的多边形实例相当于工具栏中的删除功能
    @drawError="drawError"  // 绘制多边形出错后回调函数
    :isShowRangingTool="true" // 是否显示侧面、测距工具 默认显示(可不传)
    :isShowDrawTool="true" // 是显示绘制多边形工具 默认不显示
     @drawSuccess="drawSuccess" // 绘制多边形成功后回调函数  {geoJson,delelte} delelte为回调函数用来清空绘制的多边形实例相当于工具栏中的删除功能 getGeoJson() 获取GeoJson
    @drawError="drawError"  // 绘制多边形出错后回调函数
      :hideAdd="true"   // 隐藏添加功能
      :hidePoint="true" // 隐藏打点功能
      :hideCancel="true"  // 隐藏取消功能
      :hideDelete="true" // 隐藏删除功能
      :hideSave="true" // 隐藏报错 功能
      :hideLine="true"  // 隐藏绘 隐藏测量线功能
      :hideArea="true"  // 隐藏测量面积功能
      // 点击绘制多边形或初始化编辑多边形触发返回 ryMapTool实例
      // 常用函数 $event  onCreatePolygon()// 创建多边形  onPointEvent() 打点功能 onCancel()撤销当前绘制 onDelete()删除多边形 onSave() 保存图形功能
      @loadDrawPolygonEvent="loadDrawPolygonEvent($event)"

      >
     <template>
         // 插槽
      </template>
    </RyMapTool>
</h1>

</template>

<script>
  import RyMap from '@/components/maps/ryMap/src/customTable.vue';
  import RyMapTool from '@/components/maps/ryMapTool/src/customTable.vue'

  export default {
    components: {
      RyMap,
      RyMapTool
    },
    data() {
      return {
        map: null,
        lMap: null,
        bbox:[],
        center: [116.40769, 39.89945],
         polygonModel: {
          // 填充颜色
          fillColor: '#000',
          //  边框颜色
          stroke: 'red',
          // 边框宽度
          width: 1,
          // 注意在此处 添加text属性后才会创建文本标记 否则不创建
          text:'测试',
          geo:g1,  // geoJson 可为字符串或对象   注意 传入geoJson后不需要在传送  coordinates 三维数组
          // coordinates: [
          //   [
          //     [121.03623185250073, 29.247091764239528],
          //     [121.03525048300928, 29.24522364753245],
          //     [121.03576144393304, 29.244964111834967],
          //     [121.03598042717134, 29.245156060100488],
          //   ]
          // ],
          // id 为必穿且不能重复
          id: 'ceshi',
        },
        modelArr:[this.polygonModel]
      };
    },
    created(){
      // setTimeout(r=> this.center=[116.407693, 39.899456],5000);
    },
    methods: {
      load(obj) {
        console.log(obj);
        // mapServices 地图服务
        // Map 实例对象
        const {mapServices, map} = obj;
        this.lMap = mapServices;

      },
      drawSuccess(geo){
        // geo  绘制多边形成功后 返回 geojson  非字符串
        console.log(geo);
      },
      drawError(obj){
        const {type,geoJson}= obj;
        // type 错误类型
        // geoJson 非字符串
        // 绘制多边形失败后
        // type =0  请绘制地块后在进行保存操作
        // 1 多边形不合法
          console.log(obj);
      },
       mapClick(e){
        // e 返回的是图层Id
      },
    }
  };
</script>

指令

main.js

import Vue from 'vue'
import * as directives from 'ryui-vue/src/directives';

Object.keys(directives).forEach((key) => {
  Vue.use(directives[key]);
});