微信小程序地图缩放失效怎么办
编辑:小飞燕 发布时间:2021-03-18 08:25:05
先前小编为大家推荐过小程序定位功能,也就是将小程序和现有的地图结合起来实现定位和导航,但是比较近有用户反映微信小程序地图缩放失效,那该怎么办呢?小编建议大家手动修改位置对地图横纵坐标进行缩放。
环境搭建
注册小程序,获取appid(没有这个不能真鸡调试)
微信网开发者工具(挺多臭虫,将就用)
打开微信网开发者工具,扫码登录,新建小程序,输入appid,勾选创建快速启动项目。
工程结构
可以看到工程根目录中有个app.js,这里可以定义全局变量,通过getapp获取。
项目中有了一些示例,已经有了获取用户信息的方法等。
开发小程序地图定位,选择位置功能
我们直接修改指数页面来做这个功能。
准备
新建毕业生目录,加入2个图标(ic_location和ic_position),用于标记当前位置,和地图中央位置。
添加定位功能
修改app.js,加入定位功能,获取当前位置。
//app.js
app({
onlaunch:函数{
//调用美国石油学会(美国石油学会)从本地缓存中获取数据
var logs=wx。getstorageync(' logs ')| |[]
logs.unshift(date.now)
wx。setstoragesync(' log ',log)
}
,getuserinfo:function(cb){
变量=这个
if(this.globaldata.userinfo){
cb的类型==' function ' cb(这个。数据。用户信息)
}else{
//调用小程序登录接口
wx.login({
成功:功能{
wx.getuserinfo({
成功:功能(res) {
那个。数据。用户信息=资源。用户信息
cb的类型==' function ' cb(即。数据。用户信息)
}
})
}
})
}
}
//获取定位信息
,getlocationinfo : function(cb){
那=这个
if(this。数据。位置信息){
cb(这个。数据。位置信息)
}else{
wx.getlocation({
type: 'gcj02 ',//默认为wgs84返回定位系统坐标,gcj02返回可用于wx.openlocation的坐标
成功:功能(res){
那个。数据。位置信息=资源;
cb(那个。数据。位置信息)
},
fail:功能{
//失败
},
完成:功能{
//完成
}
})
}
}
,globaldata:{
userinfo:null
,locationinfo: null
}
})
地图控件布局
修改页面/索引/索引。页面结构文件,添加地图标签,如下
经度=' { {经度}} '纬度=' { {纬度}} '
标记='{{markers}} '
比例尺='20 '
style=' width : { { map _ width } } px;'' height:{{map_height}}px '
bindregionchange='regionchange '
控件=' { { controls } }
123456789
需要给地图指定一个id,后面可以通过编号获取地图的上下文。
监听bindregionchange事件,地图变化的时候可以监听到。
地图的大小不要写死,动态设置,我这里打算设置为宽高都是屏幕宽度。
控制是固定在地图组件上面的。一开始我想用图像替代,但是设置z指数也不能在地图上面,毕竟不是h5开发。
逻辑代码编写
编辑index.js
var app=getapp
页面({
数据:{
map_width: 380
,map_height: 380
}
//显示当前位置
,onload:函数{
那=这个
//获取定位,并把位置标示出来
app。getlocationinfo(函数(位置信息){
console.log('map ',位置信息);
that.setdata({
经度: locationinfo。经度
,纬度locationinfo .纬度:
,markers:[
{
id: 0
,iconpath: '././imgs/ic_position.png '
,经度: locationinfo。经度
,纬度locationinfo .纬度:
,宽度: 30
,高度: 30
}
]
})
})
//设置宽度和高度
//动态设置地图的宽和高
wx.getsysteminfo({
成功:功能(res) {
控制台。日志(' get system info ');
控制台。日志(记录窗口宽度);
that.setdata({
map_width: res.windowwidth
,map_height: res.windowwidth
,控件:[{
id: 1,iconpath: '././imgs/ic_location.png ',位置: {
res.windowwidth/2路:号,top : res.windowwidth/2-16,宽度: 30,高度: 30
},
可: true
}]
})
}
})
}
//得到中点的经纬度,标出来
,getlnglat:函数{
that=this
this . mapctx=wx . create mapcontext(' map4 select ');
this . mapctx . getcentral location({
成功:功能(res){
that.setdata({
经度: res .经度
纬度: res .纬度
,markers:[
{
id: 0
,iconpath: '././imgs/ic_position.png '
,经度: res .经度
纬度: res .纬度
,宽度: 30
,高度: 30
}
]
})
}
})
}
,regionchange(e) {
//当地图发生变化时,获取中点,即用户选择的位置
if(e.type=='end'){
this.getlnglat
}
}
,markertap(e) {
console.log(e)
}
})
下面是如何设置标题开头的小程序数据缓存。标题到此结束
像app一样,小程序在使用时有缓存,开发小程序所需的数据也可以缓存在小程序中。小程序的数据缓存怎么设置?看看下面的操作例子和对应的代码。
注意:localstorage是长期存储的,但我们不建议将所有密钥信息都存储在localstorage中,以防止用户更换设备。
wx.setstorage(对象)
将数据存储在本地缓存中指定的密钥中会覆盖与该密钥对应的原始内容,这是一个异步接口。
对象参数的描述:
示例代码
?
wx . set storage({ key : ' key ' data : ' value ' })
wx.setstoragesync(密钥,数据)
将数据存储在本地缓存中指定的密钥中会覆盖该密钥对应的原始内容,这是一个同步接口。
对象参数的描述:
示例代码
?
请尝试{ wx.setstoragesync('key ',' value')} catch (e) { }
wx.getstorage(对象)
从本地缓存异步获取指定键对应的内容。
对象参数的描述:
示例代码:
?
wx.getstorage({ key: 'key ',success : function(res){ console . log(res . data)} })
wx.getstoragesync(密钥)
从本地缓存中同步获取指定密钥对应的内容。
参数描述:
示例代码:
?
尝试{ var value=wx . getstorageync(' key ')if(value){//做一些有返回值的事情}
}捕捉(e) { //捕捉错误时做某事}
wx.getstorageinfo(对象)
关于当前存储信息的异步获取
对象参数的描述:
成功返回的参数描述:
示例代码:
?
wx . getstorageinfo({ success : function(res){ console . log(res . keys)console . log(res . current size)console . log(res . limitsize)} })
wx.getstorageinfosync
同步并获取当前存储的相关信息
示例代码:
?
请尝试{ var res=wx . getstorageinfosync console . log(res . keys)console . log(res . current size)console . log(res . limitsize)} catch(e){//do something what catch error }
wx.removestorage(对象)
从本地缓存异步移除指定的密钥。
对象参数的描述:
示例代码:
?
6wx . remove storage({ key : ' key ',success : function(res){ console . log(res . data)} })
关于小程序数据缓存以及缓存时应该注意的问题,小编在上面已经介绍的很清楚了。如果您有问题,可以在源社网的小节目频道留言,小编会及时回复。
上一篇:微信小程序对接淘宝客的方法
猜你喜欢
-
微信小程序地图开发技巧802人喜欢
微信小程序地图定位要怎么做?微信小程序刚发布内测就火了,而且备受人们关注。下面小编就来为大家讲解一下微信小程序地图定位要怎么做?要求要完成的功能:1.要完成的要点是城市定位。2.就是切换城市。首页我们先参照微信小程序开放的官方文档找到:在这里我们可以…
更新时间:2020-09-10 11:27:02
-
小程序地图如何缩小116人喜欢
小编之前介绍过让小程序地图全屏的效果,但是很多用户反映这样查看不方便。小程序图适当缩小后更容易查看,那么如何缩小小程序图呢?事实上,小程序地图中的缩放功能可以被专业地解释为地图控件…
更新时间:2021-04-04 14:04:30
-
微信小程序地图周边功能如何实现103人喜欢
微信小程序图的外围功能怎么实现?地图上的周边功能是向你介绍你所在的某个点周围有哪些服务,这是一个非常人性化的功能,那么这个功能是如何实现的呢?下面小系列给大家介绍一下。微信小程序图…
更新时间:2021-03-15 07:11:45
-
微信小程序地图气泡如何设置93人喜欢
微信小程序图的泡泡怎么设置?很多小程序开发者在想使用map功能的时候会用到map组件,这是小程序组件之一,但是你会在地图上发现气泡,那么如何在这些地图上设置气泡呢?让我们和小编一起了解一…
更新时间:2021-03-14 11:25:54
-
微信小程序地图导航85人喜欢
微信小程序已经成为网民生活中不可或缺的东西,现在不要害怕出门。微信小程序启动地图导航,甚至通过微信小程序将景点应用到地图导航中。这里有一些小编编写的景点地图导航应用程序。随着微信小…
更新时间:2021-04-19 09:57:09
-
微信小程序地图不放大怎么办83人喜欢
微信小程序图不放大怎么办?如何放大小程序图?有微信小程序管理人员说,微信小程序图开发成功后,微信小程序图没有放大。微信小程序图不放大怎么办?微信小程序图不放大怎么办?如果你的微信小…
更新时间:2021-03-14 11:15:32
-
关于微信小程序地图定位64人喜欢
微信小程序的地图定位怎么做?微信小程序一发布内部测试就火了,引起了人们的关注。下面的小系列会给你讲解如何做微信小程序的地图定位。需要完成的功能:1.要完成的重点是城市定位。2.就是换个…
更新时间:2021-03-27 16:30:39
-
微信小程序地图标记功能怎么弄61人喜欢
微信小程序的地图标注功能怎么获取?很多小程序开发者在使用微信小程序地图时会用到地图标注功能,那么如何在这些地图上实现标注功能呢?让我们和小编一起了解一下。微信小程序的地图标注功能怎…
更新时间:2021-03-14 11:14:22
-
微信小程序地图功能怎么开发52人喜欢
微信小程序的地图功能怎么开发?在开发微信小程序的过程中,开发微信小程序地图功能是必然的,尤其是在微信小程序商店中。微信小程序地图功能怎么开发?在接下来的内容中,我主要介绍了微信小程…
更新时间:2021-03-14 11:21:17
-
微信小程序地图缩放功能怎么实现46人喜欢
微信小程序的地图缩放功能怎么实现?在使用地图的时候,大家都会用到地图的缩放功能,那么在小程序的开发中如何实现这么简单的功能呢?下面小系列就给大家简单介绍一下。微信小程序的地图缩放功…
更新时间:2021-03-14 11:27:03
-
微信小程序地图控件置底如何设置42人喜欢
微信小程序的地图控件怎么设置?小程序的地图控制包括缩小和扩展地图的加减和定位控制。很多时候定位控件要放在屏幕底部,那么怎么设置呢?下面跟着小系列来了解一下。微信小程序的地图控件怎么…
更新时间:2021-03-14 11:16:41
-
微信小程序地图scale功能怎么使用40人喜欢
由于小程序功能强大,使用微信小程序的人越来越多。最近有用户用小程序地图表示很有用,但是在坐标方面还是有些问题,需要微信小程序地图比例尺功能。微信小程序地图比例尺功能怎么用?canvasco…
更新时间:2021-04-04 14:01:38