微信小程序 开发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 相关文章推荐
JQERY limittext 插件0.2版(长内容限制显示)
Aug 27 Javascript
javascript中数组的冒泡排序使用示例
Dec 18 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
Nov 30 Javascript
jquery实现具有收缩功能的垂直导航菜单
Feb 16 Javascript
Node.js实用代码段之正确拼接Buffer
Mar 17 Javascript
BootStrap扔进Django里的方法详解
May 13 Javascript
javascript 动态生成css代码的两种方法
Mar 17 Javascript
微信小程序 五星评分的实现实例
Aug 04 Javascript
利用jqgrid实现上移下移单元格功能
Nov 07 Javascript
vue-router 前端路由之路由传值的方式详解
Apr 30 Javascript
vue3 源码解读之 time slicing的使用方法
Oct 31 Javascript
jquery实现两个div中的元素相互拖动的方法分析
Apr 05 jQuery
微信小程序商品到详情的实现
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
使用apache模块rewrite_module (转)
2007/02/14 PHP
php魔术变量用法实例详解
2014/11/13 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
PHP反射机制原理与用法详解
2017/02/15 PHP
PHP下用Swoole实现Actor并发模型的方法
2019/06/12 PHP
TopList标签和JavaScript结合两例
2007/08/12 Javascript
js类中获取外部函数名的方法
2007/08/19 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
AngularJS 作用域详解及示例代码
2016/08/17 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
2017/04/26 Javascript
jquery实现图片上传前本地预览
2017/04/28 jQuery
JS实现新建文件夹功能
2017/06/17 Javascript
纯js实现页面返回顶部的动画(超简单)
2017/08/10 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
JS处理一些简单计算题
2018/02/24 Javascript
vue.js中$set与数组更新方法
2018/03/08 Javascript
JS使用Dijkstra算法求解最短路径
2019/01/17 Javascript
python使用append合并两个数组的方法
2015/04/28 Python
Python中的下划线详解
2015/06/24 Python
django_orm查询性能优化方法
2018/08/20 Python
Python面向对象基础入门之编码细节与注意事项
2018/12/11 Python
解决在pycharm中显示额外的 figure 窗口问题
2019/01/15 Python
判断python对象是否可调用的三种方式及其区别详解
2019/01/31 Python
python3实现带多张图片、附件的邮件发送
2019/08/10 Python
Python3 中作为一等对象的函数解析
2019/12/11 Python
实现CSS3中的border-radius(边框圆角)示例代码
2013/07/19 HTML / CSS
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
餐厅经理岗位职责和岗位目标
2014/02/13 职场文书
物理系毕业生自荐书范文
2014/02/22 职场文书
《中彩那天》教学反思
2014/02/22 职场文书
招聘专员岗位职责
2014/03/07 职场文书
会议室标语
2014/06/21 职场文书
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android