微信小程序开发demo-地图定位

要求要完成的功能:

1.要完成的要点是城市定位。

2.就是切换城市。

首页我们先参照微信小程序开放的官方文档找到:

在这里我们可以找到”当前位置经纬度“

getLocation: function ()
{
var that = this wx.getLocation(
{
success: function (res) {
console.log(res)
that.setData({
hasLocation: true,
location: formatLocation(res.longitude, res.latitude)//这里是获取经纬度
})
}
})
},
//将经纬度转换成城市名和街道地址,参见百度地图接口文档:http://developer.baidu.com/map/index.php?title=webapi/guide/webservice-geocoding

onLoad: function (options) {
console.log('onLoad')
var that = this;
wx.getLocation({
success: function (res) {
wx.request({
url: 'http://api.map.baidu.com/geocoder/v2/?ak=btsVVWf0TM1zUBEbzFz6QqWF&callback=renderReverse&location=' + res.latitude + ',' + res.longitude + '&output=json&pois=1', data: { },
header: { 'Content-Type': 'application/json' },
success: function(ops) {
console.log(ops.data)
}
})
// console.log(res)
// that.setData({
// hasLocation: true,
// location: formatLocation(res.longitude, res.latitude)
// })
}
})
}
这里用到微信小程序的文档里面有发起的是https请求

 

这里面有案例我就不多讲解:

上面的代码打印出来的数据是:

renderReverse&&renderReverse(
{"status":0,
"result":
{"location":{"lng":114.05786799999997,"lat":22.543098999645019},
"formatted_address":"广东省深圳市福田区福华一路138-5",
"business":"购物公园,新洲,香蜜湖",
"addressComponent":{"country":"中国","country_code":0,"province":"广东省","city":"深圳市","district":"福田区","adcode":"440304","street":"福华一路","street_number":"138-5","direction":"附近","distance":"18"},"pois":[{"addr":"深圳市福田区福华一路138号","cp":" ","direction":"北","distance":"51","name":"深圳国际商会大厦","poiType":"房地产","point":{"x":114.05776971981998,"y":22.54267931627966},"tag":"房地产;写字楼","tel":"","uid":"9ed8fd9034cebefaeb12e42c","zip":""},{"addr":"福华一路98号","cp":" ","direction":"南","distance":"60","name":"卓越大厦","poiType":"房地产","point":{"x":114.05777870287507,"y":22.543597255274773},"tag":"房地产;写字楼","tel":"","uid":"c7fb04bd8fb44d68fb0cad85","zip":""},{"addr":"深圳市福田区","cp":" ","direction":"西北","distance":"236","name":"购物公园","poiType":"购物","point":{"x":114.05972802583108,"y":22.54214523984097},"tag":"购物;购物中心","tel":"","uid":"0e082dd9db526730aecb66f9","zip":""},{"addr":"福华一路南侧","cp":" ","direction":"西北","distance":"123","name":"投行大厦","poiType":"房地产","point":{"x":114.05829972007068,"y":22.54214523984097},"tag":"房地产;写字楼","tel":"","uid":"b3a40a67bedbe7782fb17ea0","zip":""},{"addr":"深圳福田区国际商会大厦A座","cp":" ","direction":"东北","distance":"77","name":"深圳国际商会大厦A座","poiType":"房地产","point":{"x":114.05750022816707,"y":22.54255414230188},"tag":"房地产;写字楼","tel":"","uid":"108ed554a3f5358229fc4892","zip":""},{"addr":"福华一路88号","cp":" ","direction":"西","distance":"131","name":"中心商务大厦","poiType":"房地产","point":{"x":114.05899141531315,"y":22.54275442061121},"tag":"房地产;写字楼","tel":"","uid":"cac5fc76d0304d8e2db96d8b","zip":""},{"addr":"深圳市福田区福华一路88号中心商务大厦首层","cp":" ","direction":"西","distance":"134","name":"招商银行(中央商务支行)","poiType":"金融","point":{"x":114.05900039836824,"y":22.542704351061439},"tag":"金融;银行","tel":"","uid":"c7fb04bd3d531f6bfa0cadef","zip":""},{"addr":"深圳福田中心区福华一路28号(投资大厦旁)","cp":" ","direction":"西","distance":"229","name":"深圳马哥孛罗好日子酒店","poiType":"酒店","point":{"x":114.05991666998811,"y":22.54288793932078},"tag":"酒店;星级酒店","tel":"","uid":"0523a14106ceb804b23c8142","zip":""},{"addr":"福华一路208号购物公园B1层","cp":" ","direction":"西北","distance":"234","name":"永旺超市(购物公园店)","poiType":"购物","point":{"x":114.05971904277598,"y":22.542170274720726},"tag":"购物;超市","tel":"","uid":"9884a864bb2c032af8dc85d1","zip":""},{"addr":"深圳市福田区深南大道4103号兴业银行大厦17-18层","cp":" ","direction":"西南","distance":"158","name":"深圳市公证处(一号路)","poiType":"政府机构","point":{"x":114.05857819477869,"y":22.54424815372944},"tag":"政府机构;公检法机构","tel":"","uid":"765bf8daf4efd08cb45f1ec0","zip":""}],"poiRegions":[],"sematic_description":"深圳国际商会大厦北51米","cityCode":340}})

你找到city传进去就可以了,

第二步切换城市:

在次找到我们的微信小程序的开发文档里面有

picker

滚动选择器,现支持三种选择器,通过mode来区分,分别是普通选择器,时间选择器,日期选择器,默认是普通选择器。

普通选择器:mode = selector

属性名类型默认值说明
rangeArray[]mode为 selector 时,range 有效
valueNumber0mode为 selector 时,是数字,表示选择了 range 中的第几个,从0开始。
bindchangeEventHandle value改变时触发change事件,event.detail = {value: value}

时间选择器:mode = time

属性名类型默认值说明
valueString 表示选中的时间,格式为"hh:mm"
startString 表示有效时间范围的开始,字符串格式为"hh:mm"
endString 表示有效时间范围的结束,字符串格式为"hh:mm"
bindchangeEventHandle value改变时触发change事件,event.detail = {value: value}

日期选择器:mode = date

属性名类型默认值说明
valueString0表示选中的日期,格式为"yyyy-MM-dd"
startString 表示有效日期范围的开始,字符串格式为"yyyy-MM-dd"
endString 表示有效日期范围的结束,字符串格式为"yyyy-MM-dd"
fieldsStringday有效值year,month,day,表示选择器的粒度
bindchangeEventHandle value改变时触发change事件,event.detail = {value: value}

注意:开发工具暂时只支持mode = selector。

示例代码:

<view class="section"><view class="section__title">地区选择器</view> <picker bindchange="bindPickerChange" value="{{index}}" range="{{array}}"> <view class="picker"> 当前选择:{{array[index]}} </view> </picker> </view> <view class="section"> <view class="section__title">时间选择器</view> <picker mode="time" value="{{time}}" start="09:01" end="21:01" bindchange="bindTimeChange"> <view class="picker"> 当前选择: {{time}} </view> </picker> </view> <view class="section"> <view class="section__title">日期选择器</view> <picker mode="date" value="{{date}}" start="2015-09-01" end="2017-09-01" bindchange="bindDateChange"> <view class="picker"> 当前选择: {{date}} </view> </picker> </view>
Page({data: {array: ['美国', '中国', '巴西', '日本'],index: 0, date: '2016-09-01', time: '12:01' }, bindPickerChange: function(e) { console.log('picker发送选择改变,携带值为', e.detail.value) this.setData({ index: e.detail.value }) }, bindDateChange: function(e) { this.setData({ date: e.detail.value }) }, bindTimeChange: function(e) { this.setData({ time: e.detail.value }) } })

picker

<view class="fl">
  <text wx:if="{{ifture}}">{{cityname}}</text>
  <text wx:else> {{array[index]}} </text>
  <!--<view class="add-address"></view>-->
  <picker bindchange="bindPickerChange" value="{{index}}" range="{{array}}">
  <view class="add-address">
  切换城市
  </view>
  </picker>
</view >

上面讲的不好的请多多指点:本人只是抛砖引玉,希望有更好的方法请微我,本人不胜感激。。。。

转载于:https://www.cnblogs.com/0liaoyi/p/5956696.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/402836.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

移动端H5下载后端文件

首先是手机H5移动端上&#xff0c;针对能直接打开的文件例如pdf等&#xff0c;下载是直接打开预览了。如果要真正保存到手机里&#xff0c;需要点击右上角三个点去那里面选择保存。对于非预览文件会直接下载。 而在有些浏览器里&#xff0c;是可以直接下载出文件的。感觉这个与…

[CSS] 眼下最流行的五大CSS框架,你都知道么?

From: http://developer.51cto.com/art/201710/555733.htm 如今&#xff0c;CSS框架越来越受欢迎&#xff0c;可以说已经应用到每一个网站上了。作为开发工具&#xff0c;CSS框架一直处于不断进化和改进的状态&#xff0c;因此我们强烈建议您关注眼下的趋势。这篇文章会带您了…

前端复制字符串到excel生成表格

场景需求&#xff1a;前端页面有个按钮&#xff0c;点击时候会复制一段文本&#xff0c;然后将复制的文本直接copy黏贴到excel表格里&#xff0c;就会自动形成对应的表格数据。 以下代码可以直接复制使用&#xff08;有效的点赞支持一波&#xff09;&#xff1a; copyAll () {…

[QUICK UI] 有哪些目前流行的前端框架

From: https://blog.csdn.net/qianduankuangjia/article/details/78185047 使用前端框架其实和开发的项目有一定的关系&#xff0c;因为在不同的项目中可能会用到不同的组件功能&#xff0c;这样说可能有一点片面&#xff0c;但是在面临几十种再做出选择的时候确实有一定的难度…

XP设置文件夹默认打开方式改为“资源管理器”

为什么80%的码农都做不了架构师&#xff1f;>>> 在“资源管理器”中单击“工具→文件夹选项→文件类型”&#xff0c;在“已注册的文件类型”下的列表框中找到一个名为“资料夹”的选项&#xff08;按文件类型排序的话它会排在最后面几个&#xff09;&#xff0c;选…

2018年五大最佳前端框架比较,程序员会怎么选?

From: https://blog.csdn.net/qq_41852103/article/details/79619250 现在有大量的CSS前端框架可用。但真正好的屈指可数。本文将比较五个最佳前端框架&#xff0c;每个框架都有自己的长处和短处&#xff0c;以及特定的应用领域&#xff0c;使你可以根据特定项目的需求进行选择…

解决ant design vue中的modal弹框样式修改无效问题 修改modal样式无效

ant design vue中的modal弹框修改样式无效问题 ant中的弹框样式是修改不了的 原因在于弹框modal被挂载在最大的元素div外面了 所以需要将挂载在某个html元素上 在modal外面主动套一个div 在修改样式即可:getContainer"()>$refs.ref"

网络安全——ipsec

网络安全——ipsecInternet 协议安全性 (IPSec)”是一种开放标准的框架结构&#xff0c;通过使用加密的安全服务以确保在 Internet 协议 (IP) 网络上进行保密而安全的通讯&#xff0c;它通过端对端的安全性来提供主动的保护以防止专用网络与 Internet 的***Ipsec是一个协议集合…

vue-axios下载文件流blob,ie下载报传递给系统调用的数据区域太小.ie文件流下载报错;文件下载失败将blob的错误信息转换成json格式

本次下载是后台文件流传输&#xff0c;前端下载&#xff0c;前端将拿到的下载id和名称downloadName传递给下载方法&#xff1b;如果是多个下载&#xff0c;可以采用数组for循环 情景描述&#xff1a; 1.如果符合导出条件&#xff0c; 后端直接返回数据流&#xff0c;如下图所示…

前端开发框架对比

From: https://www.cnblogs.com/xtdxs/p/6540933.html 本文选取了 Bootstrap、jQuery UI、jQuery Mobile、Sencha ExtJS、Sencha Touch、Sencha GXT、Dojo、Dojo Mobile、Mootools、Foundation、YUI、Kissy、QWrap 等 16 个国内外前端开发框架进行初步的横向比较&#xff0c;可…

持续集成工具FinalBuilder使用心得

FinalBuilder 使用这款自动化创建和发布管理工具&#xff0c;软件开发者可以定义和维护一个可靠的以及可重复创建的程序。FinalBuilder包括集成的带有版本的控制系统&#xff0c;文件和目录选项&#xff0c;重复器&#xff0c;源代码编译&#xff0c;测试工具&#xff0c;数据库…

yarn安装依赖包报错 error An unexpected error occurred: “https://registry.npm.taobao.orgnpm/element-ui: get

yarn安装依赖包报错&#xff0c;error An unexpected error occurred: “https://registry.npm.taobao.orgnpm/element-ui: getaddrinfo ENOTFOUND registry.npm.taobao.orgnpm registry.npm.taobao.orgnpm:443”. 这是因为网络不好导致的下载依赖包请求超时报错&#xff0c;…

从零开始搭建自己的VueJS2.0+ElementUI单页面网站(一、环境搭建)

From: https://blog.csdn.net/u012907049/article/details/72764151 版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/u012907049/article/details/72764151 前言 VueJS可以说是近些年来最火的前端框架之一&#xff0c;越…

解决微信小程序报[ app.json 文件内容错误] app.json: app.json 未找到,未找到入口 app.json 文件,或者文件读取失败,请检查后重新编译。小程序app.json报错

编译报错&#xff1a;[ app.json 文件内容错误] app.json: app.json 未找到 原因&#xff1a;由于project.config.json文件的miniprogramRoot小程序根目录属性找不到aap.json的路径&#xff08;可能是错误的路径&#xff0c;也可能是没有这一行代码&#xff09;&#xff1b; &…

css3新单位vw、vh、vmin、vmax的使用详解(附样例)

From: http://www.hangge.com/blog/cache/detail_1715.html 像 px、em 这样的长度单位大家肯定都很熟悉&#xff0c;前者为绝对单位&#xff0c;后者为相对单位。CSS3 又引入了新单位&#xff1a;vw、vh、vmin、vmax。下面对它们做个详细介绍。 一、基本说明 1&#xff0c;vw…

数据结构之递归

第一篇&#xff1a;数据结构之链表 第二篇&#xff1a;数据结构之栈和队列 第三篇&#xff1a;数据结构之二叉树 第四篇&#xff1a;数据结构之排序 第五篇&#xff1a;数据结构之字符串 在这篇文章里&#xff0c;我们主要讨论和递归相关的话题。递归是数据结构中解决复杂问题时…

HBuilderX搭建微信小程序;HBuilderX开发uni-app微信小程序;uni-app开发微信小程序;使用uni-app搭建微信小程序;使用uni-ui模板搭建微信小程序步骤

1.选择模板 uni-ui 2.得到创建项目 3.获取APPid 在微信小程序电脑后台获取APPID 这个方法适用于自己申请的微信小程序&#xff08;自己用的小程序&#xff09; 打开微信小程序官网&#xff1a;https://mp.weixin.qq.com/ 并登陆 4.项目打包 打包后运行在微信小程序工具 才…

vh,vw单位你知道多少?

From: https://mp.weixin.qq.com/s/G7ZYCiO__4g2LjRuNl32Ew 响应式布局的单位我们第一时间会想到通过rem单位来实现适配&#xff0c;但是它还需要内嵌一段脚本去动态计算跟元素大小。 比如&#xff1a; (function (doc, win) { let docEl doc.documentElement let resizeEvt…

为什么说任何基于比较的算法将 5 个元素排序都需要 7 次?

排序算法对结果的唯一要求就是操作数满足全序关系&#xff1a; 如果 a≤b 并且 b≤c 那么 a≤c&#xff08;传递性&#xff09;。 对于 a 或 b&#xff0c;要不 a≤b&#xff0c;要不 b≤a&#xff08;完全性&#xff09;。这个问题可以用信息论来回答。 我从 1 到 5 中挑一个数…

iTerm2分屏时,如何使得新窗口的当前路径和前一个窗口一样?

From: https://segmentfault.com/q/1010000005355758 Preferences 里面设置 Working Directory 为 reuse previous sessions directory