微信小程序 开发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 toggle()设置CSS样式
Nov 05 Javascript
js遍历td tr等html元素
Dec 13 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
Sep 21 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
Nov 02 Javascript
javascript实现复选框全选或反选
Feb 04 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
Feb 14 Javascript
解决layui前端框架 form表单,table表等内置控件不显示的问题
Aug 19 Javascript
在小程序中使用canvas的方法示例
Sep 17 Javascript
layui时间控件选择时间范围的实现方法
Sep 28 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
Jul 18 Javascript
JavaScript中的执行环境和作用域链
Sep 04 Javascript
测量JavaScript函数的性能各种方式对比
Apr 27 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字符串处理的10个简单方法
2010/06/30 PHP
php 判断数组是几维数组
2013/03/20 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
2018/12/20 PHP
Laravel框架实现文件上传的方法分析
2019/09/29 PHP
javascript中的几个运算符
2007/06/29 Javascript
javascript将数组插入到另一个数组中的代码
2013/01/10 Javascript
Javascript数组与字典用法分析
2014/12/13 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
jQuery 获取页面li数组并删除不在数组中的key
2016/08/02 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
微信小程序自定义模态对话框实例详解
2017/08/16 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
浅谈React Native Flexbox布局(小结)
2018/01/08 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
2018/03/22 Javascript
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
Vue登录注册并保持登录状态的方法
2018/08/17 Javascript
vue实现行列转换的一种方法
2019/08/06 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
vue3.0实现点击切换验证码(组件)及校验
2020/11/18 Vue.js
Vue实现小购物车功能
2020/12/21 Vue.js
跟老齐学Python之总结参数的传递
2014/10/10 Python
Python中利用原始套接字进行网络编程的示例
2015/05/04 Python
Python卸载模块的方法汇总
2016/06/07 Python
python实现转盘效果 python实现轮盘抽奖游戏
2019/01/22 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
python def 定义函数,调用函数方式
2020/06/02 Python
Django如何继承AbstractUser扩展字段
2020/11/27 Python
Pycharm 如何一键加引号的方法步骤
2021/02/05 Python
Python中的流程控制详解
2021/02/18 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
2021/03/03 Python
利用HTML5 Canvas制作一个简单的打飞机游戏
2015/05/11 HTML / CSS
美国本地交易和折扣网站:LocalFlavor.com
2017/10/26 全球购物
学习保证书
2015/01/17 职场文书