微信小程序 开发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 相关文章推荐
基于jquery的让页面控件不可用的实现代码
Apr 27 Javascript
基于jQuery的的一个隔行变色,鼠标移动变色的小插件
Jul 06 Javascript
js动态调用css属性的小规律及实例说明
Dec 28 Javascript
超炫的jquery仿flash导航栏特效
Nov 11 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
Jan 21 Javascript
Vue声明式渲染详解
May 17 Javascript
使用webpack打包koa2 框架app
Feb 02 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
Jul 04 Javascript
使用JS判断移动端手机横竖屏状态
Jul 30 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
Mar 14 Javascript
ES6新增的数组知识实例小结
May 23 Javascript
Vue实现背景更换颜色操作
Jul 17 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
php GD绘制24小时柱状图
2008/06/28 PHP
php将fileterms函数返回的结果变成可读的形式
2011/04/21 PHP
PHP中读写文件实现代码
2011/10/20 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
微信公众平台开发关注及取消关注事件的方法
2014/12/23 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
使用php自动备份数据库表的实现方法
2017/07/28 PHP
利用jQuery的deferred对象实现异步按顺序加载JS文件
2013/03/17 Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
2013/04/21 Javascript
用jquery生成二级菜单的实例代码
2013/06/24 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
2014/06/20 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
2015/03/27 Javascript
对于jQuery性能的一些优化建议
2015/08/13 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
2017/03/01 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
JavaScript对象的特性与实践应用深入详解
2018/12/30 Javascript
Vue组件间通信 Vuex的用法解析
2019/08/05 Javascript
js实现登录拖拽窗口
2020/02/10 Javascript
使用jquery实现轮播图效果
2021/01/02 jQuery
python登录QQ邮箱发信的实现代码
2013/02/10 Python
python 给DataFrame增加index行名和columns列名的实现方法
2018/06/08 Python
Python pickle模块实现对象序列化
2019/11/22 Python
详解Python的三种拷贝方式
2020/02/11 Python
Windows下pycharm安装第三方库失败(通用解决方案)
2020/09/17 Python
python中HTMLParser模块知识点总结
2021/01/25 Python
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
给校长的建议书400字
2014/05/15 职场文书
商铺门前三包责任书
2014/07/25 职场文书
运动会广播稿诗歌版
2014/09/12 职场文书
学校运动会简讯
2015/07/20 职场文书
2016年大学生就业指导课心得体会
2015/10/09 职场文书
Java实现简易的分词器功能
2021/06/15 Java/Android