演示效果如下:

资源如下

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. c# WinForm窗体编程中对窗体程序设置快捷键

    c# WinForm窗体编程中对窗体程序设置快捷键http://www.cnblogs.com/bison1989/archive/2011/09/19/2180977.html /// <su ...

  2. [libGDX游戏开发教程]使用libGDX进行游戏开发(12)-Action动画

    前文章节列表:  使用libGDX进行游戏开发(11)-高级编程技巧   使用libGDX进行游戏开发(10)-音乐音效不求人,程序员也可以DIY   使用libGDX进行游戏开发(9)-场景过渡   ...

  3. ubuntu、linux更换pip源

    1.创建pip配置文件 vi ~/.pip/pip.conf 2.写入配置内容 [global] trusted-host = mirrors.aliyun.com index-url = http: ...

  4. api接口思路介绍

    现在很流行api了,但各种api做法不一样,下面我整理了一些自己的想法,也是看了各大门户网站开放的api应用想到的,与大家分享分享,高手跳过.   API(Application Programmin ...

  5. C#异步编程模式IAsyncResult

    IAsyncResult 异步设计模式通过名为 BeginOperationName 和 EndOperationName 的两个方法来实现原同步方法的异步调用,如 FileStream 类提供了 B ...

  6. UVA 11624 Fire!【两点BFS】

    Joe works in a maze. Unfortunately, portions of the maze have caught on fire, and the owner of the m ...

  7. Android学习--还有一些小技巧

    这些小技巧 通过上面的这些文章,就把简单的安卓项目总结了一遍,当然你说懂这些就可以做Android开发的话还是不行的,欠缺的还有很多,但欠缺的这些我们有只能在工作中去总结以及不断的提高,这篇文章我们还 ...

  8. boost::operators

    boost 的 operators 提供了comparison operators.arithmetic operators.operators for iterators 操作.虽然使用 C++ 的 ...

  9. 18、Django实战第18天:课程机构收藏功能

    这里点击"收藏"也是ajax异步操作,我在operation.model.py中创建了一个用户收藏表,其中fav_id字段,如果我们收藏的是课程,那就是课程id,如果收藏的是课程机 ...

  10. [BZOJ 1912] patrol 巡逻

    Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1912 Algorithm: K=0:res=(n-1)*2   每条边恰好走2遍 K=1 ...