微信小程序 开发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之十一 添加事件核心方法
Jul 31 Javascript
php图像生成函数之间的区别分析
Dec 06 Javascript
JS 跳转页面延迟2种方法
Mar 29 Javascript
JavaScript对数字的判断与处理实例分析
Feb 02 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
Aug 15 Javascript
js实现动态加载脚本的方法实例汇总
Nov 02 Javascript
JavaScript学习总结之JS、AJAX应用
Jan 29 Javascript
javascript简易画板开发
Apr 12 Javascript
基于Jquery Ajax type的4种类型(详解)
Aug 02 jQuery
jquery应用实例分享_实现手风琴特效
Feb 01 jQuery
在element-ui的el-tree组件中用render函数生成el-button的实例代码
Nov 05 Javascript
JS 事件机制完整示例分析
Jan 15 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 chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
PHP性能优化 产生高度优化代码
2011/07/22 PHP
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
保存到桌面、设为桌面且带图标的PHP代码
2013/11/19 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
php微信公众平台示例代码分析(二)
2016/12/06 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
JS日历 推荐
2006/12/03 Javascript
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
js控制frameSet示例
2013/09/10 Javascript
node.js中的fs.futimesSync方法使用说明
2014/12/17 Javascript
JavaScript中的依赖注入详解
2015/03/18 Javascript
三分钟带你玩转jQuery.noConflict()
2016/02/15 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
2016/08/24 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
2019/02/22 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
vue-cli2与vue-cli3在一台电脑共存的实现方法
2019/09/25 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
Electron+vue从零开始打造一个本地播放器的方法示例
2020/10/27 Javascript
查看python下OpenCV版本的方法
2018/08/03 Python
Python多进程fork()函数详解
2019/02/22 Python
python TK库简单应用(实时显示子进程输出)
2019/10/29 Python
python manage.py runserver流程解析
2019/11/08 Python
Python-openCV开运算实例
2020/07/05 Python
HTML5的表单(绝对特别强大的功能)使用示例
2013/06/20 HTML / CSS
Backcountry旗下的户外商品闪购网站:steep&cheap
2016/09/22 全球购物
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
SOA面试题:如何在SOA中实现松耦合
2013/07/21 面试题
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
班级心理活动总结
2014/07/04 职场文书
2014年德育工作总结
2014/11/20 职场文书
总经理2015中秋节致辞
2015/07/29 职场文书
经典法律座右铭(50句)
2019/08/15 职场文书
golang 实现两个结构体复制字段
2021/04/28 Golang
python pandas 解析(读取、写入)CSV 文件的操作方法
2022/12/24 Python