听说最近要废弃control,用cover-image和cover-view替代它,层级问题(我们此等萌新们还在想图标怎么显示在地图上(-.-))

粗略的来说,一个展示(control),一个触发(bindcotroltap)

wxml

  1. <view class="container">
  2. <map id="map" latitude="{{latitude}}" longitude="{{longitude}}" scale="{{scale}}" bindregionchange="bindregionchange" marks="{{marks}}" controls="{{controls}}" bindcontroltap="bindcontroltap" show-location>
  3. </map>
  4. </view>

wxss

  1. .container{
  2. height: 100vh;
  3. width: 100%;
  4. }
  5. map{
  6. height: 100%;
  7. width: 100%;
  8. }

js

  1. //index.js
  2. //获取应用实例
  3. var app = getApp()
  4. Page({
  5. data: {
  6. latitude: 0.0,
  7. longitude: 0.0,
  8. scale: 15 //缩放级别
  9. },
  10.  
  11. /**
  12. * 监听markers移动事件
  13. */
  14. bindregionchange: function(e) {
  15. if (e.type == "begin") {
  16. console.log("begin");
  17. } else if (e.type == "end") {
  18. console.log("end");
  19. }
  20. },
  21.  
  22. /**
  23. *
  24. * 和controls绑定在一起
  25. * id:1
  26. * id:2
  27. * id:3
  28. * id:4
  29. * id:5
  30. * id:6
  31. */
  32.  
  33. bindcontroltap: function(e) {
  34. // 点击事件选项
  35. switch (e.controlId) {
  36. case 1:
  37. {
  38. console.log('触发第一事件!!!1');
  39. // this.movetoPosition();
  40. break;
  41. }
  42. case 2:
  43. {
  44. console.log('触发第二事件!!!2');
  45. break;
  46. }
  47.  
  48. case 3:
  49. {
  50. console.log('触发第三事件!!!3');
  51. break;
  52. }
  53. case 4:
  54. {
  55. console.log('触发第四事件!!!4');
  56. break;
  57. }
  58.  
  59. case 5:
  60. {
  61. console.log('触发第五事件!!!5');
  62. break;
  63. }
  64. }
  65. },
  66. /**
  67. * 载入
  68. */
  69. onLoad() {
  70. wx.getLocation({
  71. type: 'gcj02',
  72. success: (res) => {
  73. console.log(res);
  74. this.setData({
  75. longitude: res.longitude,
  76. latitude: res.latitude
  77. })
  78. }
  79. }),
  80. //通过获取系统宽高 - 可以获得更良好的图片定位
  81. wx.getSystemInfo({
  82. success: (res) => {
  83. this.setData({
  84. controls: [{
  85. id: 1,
  86. // 图片地址
  87. iconPath: '/images/xx.png',
  88. position: {
  89. left: 20,
  90. top: res.windowHeight - 80,
  91. width: 50,
  92. height: 50
  93. },
  94. clickable: true
  95. },
  96. {
  97. id: 2,
  98. // 图片地址
  99. iconPath: '/images/x.png',
  100. position: {
  101. left: res.windowWidth / 2 - 45,
  102. top: res.windowHeight - 100,
  103. width: 90,
  104. height: 90
  105. },
  106. clickable: true
  107. },
  108. {
  109. id: 3,
  110. // 图片地址
  111. iconPath: '/images/xx.png',
  112. position: {
  113. left: res.windowWidth - 70,
  114. top: res.windowHeight - 80,
  115. width: 50,
  116. height: 50
  117. },
  118. clickable: true
  119. },
  120. {
  121. id: 4,
  122. // 图片地址
  123. iconPath: '/images/xxxx.png',
  124. position: {
  125. left: res.windowWidth / 2 - 11,
  126. top: res.windowHeight / 2 - 45,
  127. width: 22,
  128. height: 45
  129. },
  130. clickable: true
  131. },
  132. {
  133. id: 5,
  134. // 图片地址
  135. iconPath: '/images/xxxxx.png',
  136. position: {
  137. left: res.windowWidth - 68,
  138. top: res.windowHeight - 155,
  139. width: 45,
  140. height: 45
  141. },
  142. clickable: true
  143. }
  144. ]
  145. })
  146. }
  147. })
  148. },
  149. movetoPosition() {
  150. this.mapCtx.moveToLocation();
  151. },
  152. onShow: function() {
  153. this.mapCtx = wx.createMapContext("map");
  154. this.movetoPosition();
  155. }
  156. })

微信小程序 - bindcontroltap和control的关系(map)的更多相关文章

  1. Fundebug微信小程序BUG监控服务支持Source Map

    摘要: 自动还原真实出错位置,快速修复BUG. Source Map功能 微信小程序的Source Map功能目前只在 iOS 6.7.2 及以上版本支持. 微信小程序在打包时,会将所有 js 代码打 ...

  2. 微信小程序 bindcontroltap 绑定 没生效

    微信 bindcontroltap 绑定 没生效 多次查看官方文档,代码没有问题, 解决: windows下  显示设置中 缩放必须是100%,

  3. 微信小程序基于腾讯云对象存储的图片上传

    在使用腾讯云对象存储之前,公司一直使用的是传统的FTP的上传模式,而随着用户量的不断增加,FTP所暴露出来的问题也越来越多,1.传输效率低,上传速度慢.2.时常有上传其他文件来攻击服务器,安全上得不到 ...

  4. 微信小程序导航:官方工具+精品教程+DEMO集合(1月7更新)

    1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=14764346784612:简易教程:https://mp.weixin.qq.com/debug ...

  5. 微信小程序前端与myeclipse的数据交换过程(SSH)

    这是我个人探究微信小程序前端与后端之间的数据交换的过程,再结合个人所学的SSH框架, 编程工具用myEclipse2014工具.当然,前提是后台的项目要部署到tomcat服务器上才行, 然后总结了从后 ...

  6. 微信小程序开发(后端Java)

    微信使用的开发语言和文件很「特殊」. 小程序所使用的程序文件类型大致分为以下几种: ①WXML(WeiXin Mark Language,微信标记语言) ②WXSS(WeiXin Style Shee ...

  7. 【微信小程序】——rpx、px、rem等尺寸间关系浅析

    最近开发微信小程序,在写样式表的时候发现用PX的效果不太理想,而官方文档用rpx来做响应式布局单位,就仔细研究了下,在此做个小总结: 这里先引用官方定义的尺寸单位‘rpx’:可以根据屏幕宽度进行自适应 ...

  8. 微信小程序-02-项目文件之间配合和调用关系

    微信小程序-02-项目文件之间配合和调用关系 我就不说那么多了,我是从官方文档拷贝的,然后加上一些自己的笔记,不喜勿喷 官方文档:https://developers.weixin.qq.com/mi ...

  9. 关于微信小程序的尺寸关系

    在微信小程序开发中,大家尽量使用rpx为单位, px实际上就是系统级的rem(把页面按比例分割750份,1rpx=window.innerWidth/750),或者scale伸缩布局的width=75 ...

随机推荐

  1. 《Java编程思想》笔记 第二章 一切都是对象

    1.对象存储位置 对象的引用存在栈中,对象存在堆中.new 出来的对象都在堆中存储.栈的存取速度较快. 所有局部变量都放在栈内存里,不管是基本类型变量还是引用类型变量,都存储在各自的方法栈中: 但是引 ...

  2. Codeforces #449 Div2 D

    #449 Div2 D 题意 交互式类题目. 起始有 n 张纸,会给出 m 次数字 p (\(1 \leq p \leq c\)),每次可选择一张纸,并在纸上写上这个数字,如果纸上已经存在数字,会覆盖 ...

  3. hdu2665(主席树模板题)

    hdu2665 题意 求区间第 k 小. 分析 参考 这类题目做法挺多的,例如 划分树. 这里使用主席树再写一发,不得不说主席树相比而言要好写的多,比起普通线段树,主席树就是复用了线段树共有的信息. ...

  4. Dfs【p4306(bzoj 2208)】 [JSOI2010]连通数

    Description 度量一个有向图恋情情况的一个指标是连通,指途中可达点对的个数. 下图的连通数是14 现在要你求出连通数 Input 输入数据第一行是图顶点的数量,一个正整数N. 接下来N行,每 ...

  5. Codeforces Round #404 (Div. 2) E. Anton and Permutation(树状数组套主席树 求出指定数的排名)

    E. Anton and Permutation time limit per test 4 seconds memory limit per test 512 megabytes input sta ...

  6. RabbitMQ (一) 简介和基本概念

    原文:https://blog.csdn.net/vbirdbest/article/details/78577043 一.简介 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序 ...

  7. ASP.NET Core 2.2 基础知识(八) 主机 (未完待续)

    主机负责应用程序启动和生存期管理.共有两个主机 API : 1.Web 主机 : 适用于托管 Web 应用,基于 IWebHostBuilder ; 2.通用主机 : 适用于托管非 Web 应用. 基 ...

  8. [BZOJ 4060] Word Equations

    Link: BZOJ 4060 传送门 Solution: 可以发现字符串间的关系可以构成一棵树 于是我们先用字符串哈希建树,再树形$dp$即可 设$dp[i][j]$为第$i$个节点从$P$字符串的 ...

  9. 【二分图判定】hdu3478 Catch

    详细的题解:http://www.docin.com/p-517243379.html 一个图是二分图 等价于 其至少有两个节点且没有奇环. 二分图判定的方法:从任意点出发进行一次dfs黑白染色,若某 ...

  10. 在GIT中修改提交记录

    在SVN中,提交记录是无法修改的.比如说,当我们提交了某次修改后,发现该次提交中有错误时,只能将将补丁再次提交一遍.这样,就存在两次提交记录,没有保证提交的原子性. 在GIT中,由于提交是在本地进行的 ...