微信小程序 开发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 相关文章推荐
基于prototype扩展的JavaScript常用函数库
Nov 30 Javascript
Javascript中call的两种用法实例
Dec 13 Javascript
jquery插件jquery倒计时插件分享
Dec 27 Javascript
基于JavaScript实现添加到购物车效果附源码下载
Aug 22 Javascript
微信小程序  TLS 版本必须大于等于1.2问题解决
Feb 22 Javascript
详解react如何在组件中获取路由参数
Jun 15 Javascript
javaScript封装的各种写法
Aug 14 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
Mar 23 jQuery
jQuery使用动画队列自定义动画操作示例
Jun 16 jQuery
node app 打包工具pkg的具体使用
Jan 17 Javascript
js中Function引用类型常见有用的方法和属性详解
Dec 11 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
Aug 13 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
javascript 实用的文字链提示框效果
2010/06/30 Javascript
jQuery的链式调用浅析
2010/12/03 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
struts2+jquery+json实现异步加载数据(自写)
2013/06/24 Javascript
jquery中常用的函数和属性详细解析
2014/03/07 Javascript
js基于cookie方式记住返回页面用法示例
2016/05/27 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
2016/10/21 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
Bootstrap 3 按钮标签实例代码
2017/02/21 Javascript
nodeJS实现路由功能实例代码
2017/06/08 NodeJs
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
2017/08/04 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
微信小程序template模板实例详解
2017/10/27 Javascript
vue实现百度下拉列表交互操作示例
2019/03/12 Javascript
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
Python实现TCP协议下的端口映射功能的脚本程序示例
2016/06/14 Python
python中的set实现不重复的排序原理
2018/01/24 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
pandas 空数据处理方法详解
2019/11/02 Python
查看端口并杀进程python脚本代码
2019/12/17 Python
html5 css3网站菜单实现代码
2013/12/23 HTML / CSS
全球最大的户外用品零售商之一:The House
2018/06/12 全球购物
Expedia法国:全球最大在线旅游公司
2018/09/30 全球购物
Rossignol金鸡美国官网:始于1907年法国百年雪具品牌
2019/03/06 全球购物
英格兰足协官方商店:England Store
2019/07/12 全球购物
委托与事件是什么关系?为什么要使用委托
2014/04/18 面试题
初级会计求职信范文
2014/02/15 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
工作证明英文模板
2014/10/21 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
详解如何在Canvas中添加事件的方法
2021/04/17 Javascript
sql查询结果列拼接成逗号分隔的字符串方法
2021/05/25 SQL Server
vue-cli4.5.x快速搭建项目
2021/05/30 Vue.js
python标准库ElementTree处理xml
2022/05/20 Python