当前位置: 首页 > news >正文

网站建设果麦科技上海网站建设品

网站建设果麦科技,上海网站建设品,9377霸主传奇网页版,友情链接对网站的作用正常情况下是没有手机上画电子围栏的,公共平台上我也没找到,所以走了一个歪点子,就是给地图添加点击事件,记录点的位置,在画到电子围栏上就是添加电子围栏了,如果只是显示电子围栏就简单了 一、多边形电子…

正常情况下是没有手机上画电子围栏的,公共平台上我也没找到,所以走了一个歪点子,就是给地图添加点击事件,记录点的位置,在画到电子围栏上就是添加电子围栏了,如果只是显示电子围栏就简单了

一、多边形电子围栏

<view><map id="map" longitude="{{longitude}}" latitude="{{latitude}}" scale="13" bindtap="bindtapMap" markers="{{markers}}" polyline="{{polyline}}" polygons="{{polygons}}" show-location style="width: 100%; height: 80vh;"></map><button type="primary" bindtap="removePolygons">删除围栏</button>
</view>

 字段说明:

bindtapMap:地图点击方法

creatPolygons:点图围栏绘制方法

markers:显示位置点

polygons:连线位置点


Page({data: {latitude: 24.463713,longitude: 118.082085,markers: [],polygons: [],},creatPolygons() {//创建多边形围栏if (this.data.markers.length < 3){return}let polygons = this.data.polygons;let markers = this.data.markers;let newArray = [];let params = {fillColor: "#1791fc66",strokeColor: "#FFF",strokeWidth: 2,zIndex: 3}for (let j = 0; j < markers.length; j++) {let obj = {latitude: markers[j].latitude,longitude: markers[j].longitude};newArray.push(obj);}polygons[0] = {};polygons[0].points = newArray;newArray = Object.assign(polygons[0], params);this.setData({"polygons[0]": newArray})},bindtapMap(e) {//创建标记点let tapPoint = e.detail;let markers = this.data.markerslet newContent = markers.lengthlet markerItem = {id: newContent,latitude: null,longitude: null,iconPath: '../img/point.png',width: '34px',height: '34px',rotate: 0,alpha: 1,zIndex: 3}markerItem.latitude = tapPoint.latitude;markerItem.longitude = tapPoint.longitude;markers.push(markerItem)this.setData({markers})this.creatPolygons()},removePolygons() {//删除围栏和标记this.setData({markers: [],polygons: []})},})

二、圆形电子围栏

 

<view><map bindtap="bindtapMap" markers="{{markers}}" id="map" longitude="{{longitude}}" latitude="{{latitude}}" scale="13" circles="{{circles}}" style="width: 100%; height: 80vh;"></map><button type="primary" bindtap="removePolygons">删除围栏</button>
</view>

字段说明:bindtapMap:标记位置点。这和多边形就不一样了,我只需要两个点,第一个点为圆形的中心,第二个点则为圆形的边

distance:计算第一个点和第一个点的距离(以米为单位,如果要千米就 /1000)

markers:位置点显示

circles:圆形围栏显示

Page({data: {latitude:39.90923,longitude: 116.397428,markers: [],circles: [],},removePolygons() {//删除围栏和标记this.setData({markers: [],circles: []})},bindtapMap(e) {//创建标记点let tapPoint = e.detail;let markers = this.data.markerslet newContent = markers.lengthlet markerItem = {id: newContent,latitude: null,longitude: null,iconPath: '../img/point.png',width: '34px',height: '34px',rotate: 0,alpha: 1,zIndex: 3}markerItem.latitude = tapPoint.latitude;markerItem.longitude = tapPoint.longitude;if (markers.length == 0) {markers.push(markerItem)this.setData({markers})} else {console.log(this.distance(markers[0].latitude,markers[0].longitude,markerItem.latitude,markerItem.longitude))this.setData({circles: [{latitude: markers[0].latitude,longitude: markers[0].longitude,fillColor: "#7cb5ec88",color: '#FF0000DD',radius: this.distance(markers[0].latitude,markers[0].longitude,markerItem.latitude,markerItem.longitude),}],})}},distance(la1, lo1, la2, lo2) {var La1 = la1 * Math.PI / 180.0;var La2 = la2 * Math.PI / 180.0;var La3 = La1 - La2;var Lb3 = lo1 * Math.PI / 180.0 - lo2 * Math.PI / 180.0;var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(La3 / 2), 2) + Math.cos(La1) * Math.cos(La2) * Math.pow(Math.sin(Lb3 / 2), 2)));s = s * 6378.137;s = Math.round(s * 1000);return s;},onLoad(options) {},})

所遇到的问题:

1.circles内我添加level无效,导致我看不到围栏下面的地图,我也没解决他为啥不好使,所以我就给围栏添加颜色时做了点手脚( fillColor: "#7cb5ec88",color: '#FF0000DD')

http://www.15wanjia.com/news/169892.html

相关文章:

  • 做网站很简单网站建设策划书风险控制
  • 高端网站设计推广v信haotg8电商设计和平面设计哪个好
  • 腾讯有做淘宝客网站吗阿里巴巴上怎样做自己的网站
  • 网站建设 中企动力西安全网营销实例
  • 网站建设彩铃语拖拽式网站
  • 企业宣传注册哪些论坛 网站好网站描述更改
  • 天津做网站优化公司北京天仪建设工程质量检测所网站6
  • php网站开发建设国内网页做的好看的网站
  • 网站静态图怎么做建材做网站好吗
  • 海南省两学一做网站西安到北京高铁几小时
  • 那里可以建设网站十堰h5响应式网站
  • 工作室网站模板青岛网站建设
  • 如何找到外包推广公司seo全称
  • 百度地图 企业网站网络营销方式的思维导图
  • 图书馆网站建设网站的目的wordpress 自动推送百度
  • 网站logo设计流程发布文章后马上更新网站主页
  • 上海正规做网站公司报价北风风淘网站开发
  • 无后台基础怎么建设网站软件商店2023
  • 游戏网站做关键字夜来香广州网站
  • 展厅设计制作网站金华电子商务网站建设
  • 哪种网站名称容易通过备案审核蚌埠北京网站建设
  • 自学做网站要多久室内装修设计上海
  • 网站开发技术知识甘肃省广电网络公司网站
  • 电商网站建设课程设计实验报告APP网站建设什么用处
  • 上海网站seo外包中交建设集团有限公司
  • 有没有帮忙做网站恩施网站开发
  • 个人网站的设计流程建设工程公司岗位职责
  • 上海建设网站便宜的欧亚快递100
  • 电商网站网址大全网站首页psd
  • 医院网站建设技术方案ppt网页如何设计