演示效果如下:

资源如下

marker,png

index.wxml

 <view class="map-container">
<map id="map" longitude="{{myLongitude}}" latitude="{{myLatitude}}" scale="18" bindcontroltap="controltap" markers="{{markers}}" controls="{{controls}}" bindmarkertap="markertap" bindregionchange="regionchange" show-location>
<cover-view>
{{text}}
</cover-view>
</map>
</view>

index.wxss

 .map-container {
position: absolute;
top:;
bottom:;
left:;
right:;
} map {
width: 100%;
height: 100%;
} cover-image {
width: 30rpx;
height: 30rpx;
} cover-view {
padding: 2%;
text-align: center;
color: #fff;
background-color: #09bb07;
}

index.js

 let QQMapWX = require('qqmap-wx-jssdk.min');
let qqmapsdk;

Page({ /**
* 页面的初始数据
*/
data: {
myLatitude: 0.0,
myLongitude: 0.0
}, /**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
let page = this /**
* 实例化API核心类(详情见申请key):http://lbs.qq.com/console/mykey.html
*/
qqmapsdk = new QQMapWX({
/**
*
*
* 严重注意!!!!要申请key以及导入qqmap-wx-jssdk.js,具体见上面的网址
*
*
*/ key: '' //XXXX-XXXX-XXXX-XXXX
}); /**
* 调用内部获取位置,默认为wsg84,精确为gcj02
*/
wx.getLocation({
type: 'gcj02',
success: function(res) {
console.log(res.latitude, res.longitude);
page.setData({
myLatitude: res.latitude,
myLongitude: res.longitude
});
}
})
}, /**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function() {
this.getLngLat()
}, /**
* 获取中间点的经纬度,并mark出来
*/
getLngLat() {
let page = this;
page.mapCtx = wx.createMapContext("map");
page.mapCtx.getCenterLocation({
success: function(res) {
page.setData({
markers: [{
id: 0,
iconPath: "marker.png",
longitude: res.longitude,
latitude: res.latitude,
width: 30,
height: 30
}]
})
page.getPoiList(res.longitude, res.latitude)
}
})
}, /**
* 视野发生变化时触发:见页面bindregionchange事件
*/
regionchange(e) {
e.type == 'end' ? this.getLngLat() : this.getLngLat()
}, /**
* 详情见官方API配置:http://lbs.qq.com/qqmap_wx_jssdk/method-reverseGeocoder.html
*/
getPoiList(longitude, latitude) {
let page = this
qqmapsdk.reverseGeocoder({
location: {
latitude: latitude,
longitude: longitude,
},
get_poi: 1,
poi_options: 'policy=2;radius=3000;page_size=2;page_index=1',
success: function(res) {
/**
* 详细数据从这儿拿....
*/
page.setData({
text: res.result.pois[0].title
});
},
fail: function(res) {
console.log(res);
},
complete: function(res) { }
});
}
})

微信小程序 - 滑动显示地点信息(map)的更多相关文章

  1. [微信小程序] 微信小程序获取用户定位信息并加载对应城市信息,wx.getLocation,腾讯地图小程序api,微信小程序经纬度逆解析地理信息

    因为需要在小程序加个定位并加载对应城市信息 然而小程序自带api目前只能获取经纬度不能逆解析,虽然自己解析方式,但是同时也要调用地图,难道用户每次进小程序还要强行打开地图选择地址才定位吗?多麻烦也不利 ...

  2. 微信小程序实现显示和隐藏控件-头像-取值-bindblur事件

    微信小程序实现显示和隐藏控件 .wxml: <view class=" {{showOrHidden?'show':'hidden'}}"></view> ...

  3. 微信小程序滑动选择器

    实现微信小程序滑动选择效果 在wxml文件中,用一个picker标签代表选择器,bindchange是用户点击确定后触发的函数,index是picker自带的参数,用户点击确定后,bindchange ...

  4. 微信小程序中显示html富文本的方法

    微信小程序中显示html富文本的方法 使用方法:git地址:https://github.com/icindy/wxParse 一.下载wxParse文件 二.在要引入的页面的js文件中,引入文件 j ...

  5. 微信小程序的应用及信息整合,都放到这里了

    微信小程序终于开始公测了,这篇文章也终于可以发布了. 这篇文章可以说是微信小程序系列三部曲最后一篇.8 月份,小程序推出前,我写了<别开发 app 了>详细阐述了为什么创业应该放弃原生 a ...

  6. 微信小程序之----获取设备信息

    1. 获取系统信息        wx.getSystemInfo(OBJECT)        wx.getSystemInfoSync() 同步获取系统信息                回调常用 ...

  7. 微信小程序tabBar显示问题

    在微信小程序的开发中,我遇到疑惑如下: 在app.json中定义了多个pages,一般微信小程序启动的时候,自动加载pages下的第一个页面, "pages": [        ...

  8. 微信小程序 键盘显示短信验证码

    1.场景描述: IOS系统 一些APP或者微信小程序在收到短信验证码的时候会在键盘上自动保存验证码信息,当用户点击的时候,会自动赋值到当前所点击的输入框中 2.案例: 2.实现: TIPS:这个功能是 ...

  9. [重要更新]微信小程序登录、用户信息相关接口调整:使用 wx.getUserProfile 取代 wx.getUserInfo

    2021年2月24日,微信官方团队发布了一个调整通知:<小程序登录.用户信息相关接口调整说明>,公告明确从4月13日起,所有发布的小程序将无法使用 wx.getUserInfo 接口(JS ...

随机推荐

  1. [ 手记 ] 关于tomcat开机启动设置问题

    今天尝试将tomcat设置为开机启动,大家都知道只需要将启动脚本添加到/etc/rc.local下面开机就会自动执行. /usr/local/tomcat8./bin/startup.sh >& ...

  2. Python 进阶 之 yield

    .转载自:https://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/ Python yield 使用浅析: 您可能听说过, ...

  3. 用LoopBack搭建RESTful 风格的API

    1.安装node.NPM 2.安装strongloop npm install -g --unsafe-perm install strongloop 3.创建工作目录并且配置loopback应用 m ...

  4. 洛谷 P1012 拼数 [字符串]

    题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4 ...

  5. HDU 2473 Junk-Mail Filter 【并查集删除】

    Junk-Mail Filter Time Limit: 15000/8000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  6. 蒟蒻的9个背包的浩大工程(更新中)(无限延期)(太长了不舍删虽然写的lj的一匹)

    所以说这就是一篇写炸的废文!!!! 所以说背包直接看dd大神的就好了,算了瞎写写吧. 0/1背包 有n件物品和一个容量为C的背包.第i件物品的重量是w[i],价值是v[i].求解将哪些物品放入背包可使 ...

  7. 树链剖分【p4116】Qtree3 - Query on a tree

    Description 给出N个点的一棵树(N-1条边),节点有白有黑,初始全为白 有两种操作: 0 i : 改变某点的颜色(原来是黑的变白,原来是白的变黑) 1 v : 询问1到v的路径上的第一个黑 ...

  8. Counting Haybales (线段树)

    Counting Haybales 时间限制: 50 Sec  内存限制: 256 MB提交: 52  解决: 18[提交][状态][讨论版] 题目描述 Farmer John is trying t ...

  9. ASP.NET Core 2.2 基础知识(六) 配置(内含MySql+EF)

    先上一段代码,了解一下 .NET Core 配置数据的结构. 新建一个 控制台项目,添加一个文件 json.json ,文件内容如下: { "country": "cn& ...

  10. 简单工厂模式(Factory)

    设计模式序言:这是开始学习设计模式的第一步,也是相对简单的一个设计模式,简单工厂设计模式. 简单工厂就是将业务进行封装,减少代码之间的耦合度,使代码更易于扩展和维护. 以下是简单工厂设计模式的图解: ...