欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 微信小程序 - 多地点标识(map)

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:740

高端HTML5响应式企业通用网

2020-05-06   浏览:521

html5响应式外贸网站英文版

2020-05-08   浏览:510

HTML5自适应律师工作室类网

2020-04-04   浏览:504

HTML5影视传媒文化公司类网

2020-05-12   浏览:501

微信小程序 - 多地点标识(map)

发布时间:2020-10-09  

演示如下:

微信小程序 - 多地点标识(map)

微信小程序 - 多地点标识(map)

wxml

 

1<map id="map" scale="{{scale}}" controls="{{controls}}" bindcontroltap="controltap" markers="{{markers}}" bindmarkertap="markertap" bindregionchange="regionchange" show-location style="width: 100%; height: 580px;"></map>

js

 

1 let hospitalData = require('hospitalData') 2 Page({ 3 data: { 4 centerX: 0.0, 5 centerY: 0.0, 6 //可能我标识的地点和你所在区域比较远,缩放比例建议5; 7 scale:15, 8 markers: [], 9 controls: [{ 10 id: 1, 11 iconPath: '/image/location-control.png', 12 position: { 13 left: 0, 14 top: 10, 15 width: 40, 16 height: 40 17 }, 18 clickable: true 19 }] 20 }, 21 onReady: function(e) { 22 // 使用 wx.createMapContext 获取 map 上下文 23 this.mapCtx = wx.createMapContext('myMap') 24 }, 25 26 onLoad: function() { 27 console.log('地图定位!') 28 let that = this 29 wx.getLocation({ 30 type: 'gcj02', //返回可以用于wx.openLocation的经纬度 31 success: (res) => { 32 let latitude = res.latitude; 33 let longitude = res.longitude; 34 let marker = this.createMarker(res); 35 this.setData({ 36 centerX: longitude, 37 centerY: latitude, 38 markers: this.getHospitalMarkers() 39 }) 40 } 41 }); 42 }, 43 44 /** 45 * 标示点移动触发 46 */ 47 regionchange(e) { 48 console.log(e.type) 49 }, 50 51 /** 52 * 点击标识点触发 53 */ 54 markertap(e) { 55 console.log(e) 56 }, 57 58 /** 59 * control控件点击时间 60 */ 61 controltap(e) { 62 console.log(e.controlId) 63 this.moveToLocation() 64 }, 65 66 67 /** 68 * 获取医院标识 69 */ 70 getHospitalMarkers() { 71 let markers = []; 72 for (let item of hospitalData) { 73 let marker = this.createMarker(item); 74 markers.push(marker) 75 } 76 return markers; 77 }, 78 79 /** 80 * 移动到自己位置 81 */ 82 moveToLocation: function() { 83 let mpCtx = wx.createMapContext("map"); 84 mpCtx.moveToLocation(); 85 }, 86 87 88 /** 89 * 还有地图标识,可以在name上面动手 90 */ 91 createMarker(point) { 92 let latitude = point.latitude; 93 let longitude = point.longitude; 94 let marker = { 95 iconPath: "/image/location.png", 96 id: point.id || 0, 97 name: point.name || '', 98 latitude: latitude, 99 longitude: longitude, 100 width: 25, 101 height: 48 102 }; 103 return marker; 104 } 105 })  

hospitalData.js (模拟数据)

 

1 module.exports = [{ 2 "id": 1, 3 "name": "永州市中心医院", 4 "longitude": "111.62852107566833", 5 "latitude": "26.42142999357519" 6 }, 7 { 8 "id": 2, 9 "name": "永州市中医院", 10 "longitude": "111.5972679762268", 11 "latitude": "26.44470581245983" 12 } 13 ]  

运行示例时,建议放在同一目录下.

本文标签

: