微信小程序 开发MAP(地图)实例详解


Posted in Javascript onJune 27, 2017

微信小程序 开发MAP(地图)实例详解

在创建MAP(地图)前,请各位小伙伴们认真的去了解微信小程序开发的说明。

https://mp.weixin.qq.com/debug/wxadoc/dev/component/map.html#map

了解完MAP(地图)里的属性之后,接下来我们就来创建一个简单的MAP(地图)控件。

第一步:肯定是创建项目、起项目名、项目地址

PS:我这里以index的文件为名

第二步:我们来写 index.wxml 文件的代码

WXML文件代码:

<map id="map4select" longitude="{{longitude}}" 
latitude="{{latitude}}" markers="{{markers}}"
 scale="20" style="width:{{map_width}}px;height:{{map_height}}px" 
bindregionchange="regionchange" controls="{{controls}}">
 </map>

WXML文件的代码写好之后,就要来进行第三步了。

第三步:写 index.js 文件的代码

var app = getApp()

Page({
 data: {
 map_width: 380
 , map_height: 380
 }
 //show current position
 , onLoad: function (options) {
 console.log(options.schedule_id);
 var that = this;
 // 获取定位,并把位置标示出来
 that.setData({
  longitude: 113.324520
  , latitude: 23.099994
  , markers: [
  {
   id: 0
   , iconPath: "../imgs/ic_position.png"
   , longitude: 113.324520
   , latitude: 23.099994
   , width: 30
   , height: 30
  }
  ]
 })
 //set the width and height
 // 动态设置map的宽和高
 wx.getSystemInfo({
  success: function (res) {
  console.log(res.windowWidth);
  that.setData({
   map_width: res.windowWidth
   , map_height: res.windowWidth
   , controls: [{
   id: 1,
   iconPath: '../imgs/ic_location.png',
   position: {
    left: res.windowWidth / 2 - 8 ,
    top: res.windowWidth / 2 - 16 ,
    width: 30,
    height: 30 
   },
   clickable: true
   }]
  })
  }
 })
 }
 //获取中间点的经纬度,并mark出来
 , getLngLat: function () {
 var that = this;
 this.mapCtx = wx.createMapContext("map4select");
 this.mapCtx.getCenterLocation({
  success: function (res) {
  that.setData({
   longitude: 113.324520
   , latitude: 23.099994
   , markers: [
   {
    id: 0
    , iconPath: "../imgs/ic_position.png"
    , longitude: 113.324520
    , latitude: 23.099994
    , width: 30
    , height: 30
   }
   ]
  })
  }
 })
 }
 , regionchange(e) {
 // 地图发生变化的时候,获取中间点,也就是用户选择的位置
 if (e.type == 'end') {
  this.getLngLat()
 }
 }
 , markertap(e) {
 console.log(e)
 }
})

index.js 和 index.wxml 两个文件的代码已经写好,那么我们就来页面上看看效果。

PS:“../imgs/ic_position.png” 和 “../imgs/ic_location.png” 是我在项目里创建的一个名叫imgs文件夹里面的两个定位小图标,各位小伙伴们可以根据自己的需求改换小图标,只需要把小图标放进imgs文件夹里面,小图标的路径引用正确就可以显示出来。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
this[] 指的是什么内容 讨论
Mar 24 Javascript
学习js在线html(富文本,所见即所得)编辑器
Dec 18 Javascript
JS日期和时间选择控件升级版(自写)
Aug 02 Javascript
node.js中的console.assert方法使用说明
Dec 10 Javascript
jQuery鼠标事件总结
Oct 13 Javascript
详解angularjs 关于ui-router分层使用
Jun 12 Javascript
详解用node.js实现简单的反向代理
Jun 26 Javascript
Angular实现表单验证功能
Nov 13 Javascript
详解js中let与var声明变量的区别
Apr 05 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
Jul 29 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
Jul 29 Javascript
echarts实现晶体球面投影的实例教程
Oct 10 Javascript
微信小程序商品到详情的实现
Jun 27 #Javascript
微信小程序的分类页面制作
Jun 27 #Javascript
JS实现批量上传文件并显示进度功能
Jun 27 #Javascript
angular过滤器实现排序功能
Jun 27 #Javascript
详解AngularJS ng-class样式切换
Jun 27 #Javascript
各种选择框jQuery的选中方法(实例讲解)
Jun 27 #jQuery
JavaScript事件方法(实例讲解)
Jun 27 #Javascript
You might like
屏蔽浏览器缓存另类方法
2006/10/09 PHP
在PHP里得到前天和昨天的日期的代码
2007/08/16 PHP
php使用curl详细解析及问题汇总
2016/08/11 PHP
PHP字典树(Trie树)定义与实现方法示例
2017/10/09 PHP
django中的ajax组件教程详解
2018/10/18 PHP
JS setCapture 区域外事件捕捉
2010/03/18 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
javascript之bind使用介绍
2011/10/09 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
jquery单行文字向上滚动效果示例
2014/03/06 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
javascript实现鼠标放上后下边对应内容变换的效果
2015/08/06 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
easyui 中的datagrid跨页勾选问题的实现方法
2017/01/18 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
浅谈webpack和webpack-cli模块源码分析
2020/01/19 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
2020/06/08 Javascript
[01:01:18]VP vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
对python文件读写的缓冲行为详解
2019/02/13 Python
使用apiDoc实现python接口文档编写
2019/11/19 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
2021/01/06 Python
删除pycharm鼠标右键快捷键打开项目的操作
2021/01/16 Python
美国市场上最实惠的送餐服务:Dinnerly
2018/03/18 全球购物
定义一结构体数组表示分数,并求两个分数相加之和
2013/06/11 面试题
外贸采购员求职的自我评价
2013/11/26 职场文书
内业资料员岗位职责
2014/01/04 职场文书
房产委托公证书样本
2014/04/04 职场文书
KTV门卫岗位职责
2014/10/09 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
最美乡村教师观后感
2015/06/11 职场文书
详解Laravel制作API接口
2021/05/31 PHP
CSS变量实现主题切换的方法
2021/06/23 HTML / CSS
MYSQL 运算符总结
2021/11/11 MySQL
Innodb存储引擎中的后台线程详解
2022/04/03 MySQL