小程序map多点定位显示

最近在做小程序的时候有一个类似共享单车显示附近单车的需求。查了查微信api发现api里多点定位描述的不清晰,试了试也不可以。静下心踩了几个坑后写了几个方法。分享一下??
附上代码

html结构:

<map id="map"  scale="{{scale}}" bindcontroltap="controltap" markers="{{markers}}" bindmarkertap="markertap" latitude="{{latitude}}"longitude ="{{longitude}}"controls="{{controls}}" show-location bindregionchange="regionchange" style="width: 100%; height: {{view.Height}}px;"></map>

javascript:

var app = getApp();

Page({

data: {

url:‘‘,

listData: [

{

"id": 1,

"placeName": "中关村广场",

"placeImageUrl": "",

"placeOpenTime": 1505854800,

"placeCloseTime": 1505919600,

"placeAddress": "北京市海淀区中关广场",

"placeLongitude": "116.303900",

"placeLatitude": "39.976460"

}, {

"id": 2,

"placeName": "虎丘的广场",

"placeImageUrl": "",

"placeOpenTime": 1506286800,

"placeCloseTime": 1506258000,

"placeAddress": "江苏省苏州虎丘",

"placeLongitude": "120.410770",

"placeLatitude": "31.325370"

}, ],

scale:‘15‘, //缩放

Height:‘0‘,

controls:‘40‘,//中心点

latitude:‘‘,

longitude:‘‘,

markers: [],

},

onReady: function (e) {

// 使用 wx.createMapContext 获取 map 上下文

this.mapCtx = wx.createMapContext(‘myMap‘)

},

onLoad: function () {

var that = this;

that.setData({

url: app.globalData.url// 显示图片url

})

wx.getLocation({

type: ‘wgs84‘, //返回可以用于wx.openLocation的经纬度

success: (res) => {

that.setData({

markers: that.getSchoolMarkers(),

scale: 12,

longitude: res.longitude,

latitude: res.latitude

})

}

});

wx.getSystemInfo({

success: function (res) {

//设置map高度,根据当前设备宽高满屏显示

that.setData({

view: {

Height: res.windowHeight

},

})

}

})

},

controltap(e) {

this.moveToLocation()

},

getSchoolMarkers() {

var market = [];

for (let item of this.data.listData) {

let marker1 = this.createMarker(item);

market.push(marker1)

}

return market;

},

moveToLocation: function () {

this.mapCtx.moveToLocation()

},

strSub:function(a){

var str = a.split(".")[1];

str = str.substring(0, str.length - 1)

return a.split(".")[0] + ‘.‘ + str;

},

createMarker(point) {

let latitude = this.strSub(point.placeLatitude);

let longitude = point.placeLongitude;

let marker = {

iconPath: "../../image/banner5.jpeg",

id: point.id || 0,

name: point.placeName || ‘‘,

title: point.placeName || ‘‘,

latitude: latitude,

longitude: longitude,

label:{

x:-24,

y:-26,

content: point.placeName

},

width: 30,

height: 30

};

return marker;

}

})

时间: 2024-07-31 17:23:51

小程序map多点定位显示的相关文章

小程序map地图上显示多个marker

wxml <map id="myMap" style="width: {{mapWidth}}rpx; height: {{mapHeight}}rpx;" latitude="{{latitude}}" longitude="{{longitude}}" markers="{{markers}}" show-location bindmarkertap="selectMarket"

微信小程序实现城市定位:获取当前所在的国家城市信息

微信小程序中,我们可以通过调用wx.getLocation()获取到设备当前的地理位置信息,这个信息是当前位置的经纬度.如果我们想获取当前位置是处于哪个国家,哪个城市等信息,该如何实现呢? 微信小程序中并没有提供这样的API,但是没关系,有wx.getLocation()得到的经纬度作为基础就够了,其他的,我们可以使用其他第三方地图服务可以来实现,比如腾讯地图或百度地图的API. 以腾讯地图为例,我们可以去腾讯地图开放平台注册一个账号,然后在它的管理后台创建一个密钥(key). 然后在顶部菜单里

微信小程序后台持续定位功能使用

微信小程序团队在7月30日更新了 基础库 2.8.0 其中新添加了小程序后台持续定位功能和联系定位的接口 从上到下分别是 1.wx.onLocationChange//监听位置实时变化 2.wx.stopLocationUpdate//关闭监听实时位置变化,前后台都停止消息接收 3.wx.startLocationUpdate//开启小程序进入前台时接收位置消息 4.wx.startLocationUpdataBackground//开启小程序进入前后台时均接收位置消息 详细信息可查看https

微信小程序map地图的一些使用注意事项

1.小程序组件map,在微信7.0.4以上(不包括7.0.4)层级问题官方已作更新,可在map上随意添加任何标签使用z-index即可:微信7.0.4版本以下map组件层级默认是最高的,只能使用官方提供的cover-view及cover-image可覆盖原生组件: 2.小程序map自定义个性化地图设置: 1)进入小程序平台,点击开发找到开发者工具,点击腾讯位置服务的查看详情,进入腾讯小程序官网,点击立即接入,选择个性化地图 2)选好地图模板,点击提交 3)复制密钥 4)在小程序map里加上复制好

小程序的input正常显示

[问题]最近在写小程序,遇到一个布局问题,在开发者工具的预览里,显示的正常的,但是在手机上的显示,就坑爹了~ (*T_T*) ,见图: [解决]然后就开始了我的调整路途: 首先怀疑自带的样式,发现有个高度,去掉调试,没用. 再次怀疑是margin带来的问题,去掉调试,没用. 再度怀疑padding这些,全部去掉,没用. 我用了flex左右布局,发现也不是. 我上网查了下,发现有人说是别的组件影响的,我就把图片组件先隐藏掉,发现没事了,,呵呵. [最后]我把图片用了定位,没事了??????????

小程序 map组件问题 cover-view问题

使用小程序的组件map时 在开发者工具上一切顺利 但是在真机预览时 发现地图的层级是最高的 任何标签都覆盖不了它 调整z-index值并没有什么效果 原因是 微信小程序的map.video.canvas.camera等组件都是原生组件,层级是最高的,并不能像原生开发那样使用z-index来控制层级. 从1.4.0基础库中增加了一个组件cover-view,用于在map.video.canvas.camera等原生组件上显示基础原生视图. 但是用了cover-view这个组件之后 我又发现了一个问

【微信小程序】tabBar不显示的问题

在app.json中配置了4个页面,在tabBar的list中随意写了两个页面,编译后发现不能显示tabBar. { "pages": [ "pages/musicList/musicList", "pages/test/test", "pages/index/index", "pages/logs/logs" ], "window": { "backgroundTextSty

小程序的image图片显示

最近接触到了一点小程序的东西,跟我们平常的HTML还真不太一样,这里我先大概讲一下图片的显示问题, 小程序的图片用的是<image><image/>标签,他默认的大小是宽300px,高225px.那我们如果用图片的话,肯定不能用默认的大小,那image常用的除了src属性之外,还有一个mode属性,他有4中缩放模式,9种剪裁模式,如果我们想把图片完全显示出来的话,就用 widthFix,宽度不变,高度自动变化,保持原图宽高比不变,下面我有两种方法可以显示完整不被拉伸的图片, 第一种

微信小程序map组件z-index的层级问题

说起微信小程序的map组件,可以说是良心之作了,一个组件解决了所以接入地图的所有麻烦,但是在实际小程序的试用过程中还是存在点问题的.如下情景:刚开始接入map组件的时候是在微信开发工具的模拟器上预览的,看起来没有一点问题,如下图: 但是在手机上真机模拟的时候就比较尴尬了,地图挡住了我底部的按钮,这个要怎么办呢?先是在百度上百度了好久,别人家写的博客都说,小程序的map组件是层级最高的,这个没办法处理; 然后就觉得凉凉了,不知道要怎么办了,难道要自己重新写个地图吗?感觉又不太现实,于是就问了最近在