微信小程序 开发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 相关文章推荐
(function(){})()的用法与优点
Mar 11 Javascript
JavaScript多线程的实现方法
May 08 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
Mar 07 Javascript
javascript向后台传送相同属性的参数即数组参数
Feb 17 Javascript
QQ登录背景闪动效果附效果演示源码下载
Sep 22 Javascript
浅析在javascript中创建对象的各种模式
May 06 Javascript
将json转换成struts参数的方法
Nov 08 Javascript
详解js数组的完全随机排列算法
Dec 16 Javascript
JS简单数组排序操作示例【sort方法】
May 17 Javascript
详解Vue的watch中的immediate与watch是什么意思
Dec 30 Javascript
vue.js实现简单购物车功能
May 30 Javascript
JavaScript实现图片合成下载的示例
Nov 19 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设计模式 Facade(外观模式)
2011/06/26 PHP
php笔记之:php数组相关函数的使用
2013/04/26 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
2014/05/12 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
2013/03/01 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
JS控制表格实现一条光线流动分割行的方法
2015/03/09 Javascript
基于jquery实现左右按钮点击的图片切换效果
2021/01/27 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
2016/06/20 Javascript
node-sass安装失败的原因与解决方法
2017/09/04 Javascript
使用Node.js实现一个多人游戏服务器引擎
2019/03/13 Javascript
解决vue 单文件组件中样式加载问题
2019/04/24 Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
vue自定义标签和单页面多路由的实现代码
2020/05/03 Javascript
微信小程序国际化探索实现(附源码地址)
2020/05/20 Javascript
JS实现数据动态渲染的竖向步骤条
2020/06/24 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
Vue实现简单购物车功能
2020/12/13 Vue.js
vue+vant 上传图片需要注意的地方
2021/01/03 Vue.js
编写Python的web框架中的Model的教程
2015/04/29 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
Django rstful登陆认证并检查session是否过期代码实例
2019/08/13 Python
Python 50行爬虫抓取并处理图灵书目过程详解
2019/09/20 Python
python-numpy-指数分布实例详解
2019/12/07 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
python爬虫分布式获取数据的实例方法
2020/11/26 Python
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
Timberland德国官网:靴子、鞋子、衣服、夹克及配件
2019/12/10 全球购物
留学自荐信的技巧
2013/10/17 职场文书
大学生物业管理求职信
2013/10/24 职场文书
采购部部门职责
2013/12/15 职场文书
办公室主任岗位承诺书
2014/05/29 职场文书
乐山大佛导游词
2015/02/02 职场文书
企业承诺书格式范文
2015/04/28 职场文书
台积电称即便经济低迷也没有降价的计划
2022/04/21 数码科技