微信小程序 开发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的bankInput银行卡账号格式化
Aug 22 Javascript
使用JavaScript判断图片是否加载完成的三种实现方式
May 04 Javascript
JavaScript实现的in_array函数
Aug 27 Javascript
jquery delay()介绍及使用指南
Sep 02 Javascript
js实现下拉框选择要显示图片的方法
Feb 16 Javascript
jQuery+AJAX实现网页无刷新上传
Feb 22 Javascript
基于jquery实现鼠标左右拖动滑块滑动附源码下载
Dec 23 Javascript
JavaScript中关联原型链属性特性
Feb 13 Javascript
javascript css红色经典选项卡效果实现代码
May 17 Javascript
jfinal与bootstrap的登出实战详解
Nov 27 Javascript
小程序实现订单倒计时功能
Apr 23 Javascript
Layui Form 自定义验证的实例代码
Sep 14 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 面向对象详解
2012/09/13 PHP
PHP函数microtime()用法与说明
2013/12/04 PHP
PHP return语句的另一个作用
2014/07/30 PHP
php使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
使用PHP similar text计算两个字符串相似度
2015/11/06 PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
2019/04/16 PHP
让Firefox支持event对象实现代码
2009/11/07 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
使用js实现一个可编辑的select下拉列表
2014/02/20 Javascript
JavaScript数据类型检测代码分享
2015/01/26 Javascript
javascript日期计算实例分析
2015/06/29 Javascript
javascript实现网页子页面遍历回调的方法(涉及 window.frames、递归函数、函数上下文)
2015/07/27 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
AngularJS中watch监听用法分析
2016/11/04 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
2017/03/27 Javascript
JS简单获取当前日期和农历日期的方法
2017/04/17 Javascript
JavaScript禁止微信浏览器下拉回弹效果
2017/05/16 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
详解Vue用自定义指令完成一个下拉菜单(select组件)
2017/10/31 Javascript
浅谈 vue 中的 watcher
2017/12/04 Javascript
Puppet的一些技巧
2018/09/17 Javascript
微信小程序顶部导航栏滑动tab效果
2019/01/28 Javascript
分享一个vue项目“脚手架”项目的实现步骤
2019/05/26 Javascript
使用Python实现BT种子和磁力链接的相互转换
2015/11/09 Python
Python实现二叉搜索树BST的方法示例
2019/07/30 Python
Python基于time模块表示时间常用方法
2020/06/18 Python
详解Anaconda 的安装教程
2020/09/23 Python
纯CSS实现设置半个字符的样式
2014/07/03 HTML / CSS
使用CSS3制作响应式导航菜单的方法
2015/07/12 HTML / CSS
学生党支部先进事迹
2014/02/04 职场文书
乡镇党员干部群众路线对照检查材料思想汇报
2014/09/28 职场文书
2015年仓库工作总结
2015/04/09 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers
eval(cmd)与eval($cmd)的区别与联系
2021/07/07 PHP
MySql数据库 查询时间序列间隔
2022/05/11 MySQL