微信小程序引入腾讯地图API方法
微信小程序大热,在小程序过程中,我们很多时候都会用到地图。不管是企业的地址,还是商家的配送都会用到地图;
我在刚写地图这一块时,在网上也参考了很多网友的方法,始终有Bug(类似于地图拖拽是画面抖动,无法点击跳转到导航页面等等)
下面的代码是后台动态添加坐标(经度纬度的方法)
我这里有这么一个方法,希望对你有用:
wxml:
<map bindtap="toMap" showLocation id="map" latitude="{{latitude}}" longitude="{{longitude}}" markers="{{markers}}" scale="14">
</map>
js:
var requetNet = require('../../common/js/request.js');
var app = getApp()
Page({
data: {
companyMessage: [],
latitude: 0,
longitude: 0,
markers: [{
iconPath: "../../images/consult/ic_position.png",
latitude: 0,
longitude: 0,
width: 17,
height: 35
}],
form_info:[]
},
onLoad: function(t) {
var that = this;
requetNet.send({
url: '/enterprise/info/getRelationInfo.json',
opt: {
loading: true
},
success: function(res) {
var companyMessage = res.data;
that.setData({
companyMessage: companyMessage,
latitude: res.data.addressLatitude,
longitude: res.data.addressLongitude,
});
var markers = that.data.markers;
markers[0].latitude = res.data.addressLatitude;
markers[0].longitude = res.data.addressLongitude;
that.setData({
markers: markers
});
}
});
},
toMap: function() {
var companyMessage = this.data.companyMessage;
wx.openLocation({
latitude: Number(companyMessage.addressLatitude),
longitude: Number(companyMessage.addressLongitude),
name: companyMessage.addressInfo,
scale: 15
});
}
})
request.js
var app;
function requestNet(par) {
if (!app)
app = getApp();
wx.getStorage({
key: 'openId',
success: function(res) {
var openId = "";
if (res.data && res.data.openId)
openId = res.data.openId;
startReq(par, openId);
},
fail: function() {
startReq(par, "");
}
});
}
function startReq(par, openId) {
var data = par.data || {};
try {
data.openId = openId;
} catch (e) {}
var opt = par.opt;
if (opt && opt.loading === true) {
wx.showLoading({
title: '加载中',
mask: true
});
}
wx.request({
url: app.globalData.url + par.url,
data: data,
header: {
'content-type': 'application/x-www-form-urlencoded;charset=utf-8',
// 'applicationType': app.globalData.applicationType || ""
},
method: 'POST',
success: function(res) {
wx.hideLoading();
if (res.statusCode != 200) {
wx.showToast({
title: "网络连接失败",
icon: 'none',
duration: 2000
});
return;
}
res = res.data;
var success = par.success;
var code = res.code;
if (opt && opt.mustOK === false) {
success && success(res);
return;
}
if (code == 200) {
success && success(res);
return;
}
wx.showToast({
title: res.msg || "提示",
icon: 'none',
duration: 2000
});
},
fail: function() {
wx.hideLoading();
var fail = par.fail;
if (fail) {
fail && fail();
} else {
wx.showToast({
title: "网络连接错误,请检查网络",
icon: 'none',
duration: 2000
});
}
},
complete: function() {
}
});
}
module.exports = {
send: requestNet
}
wxss
#map {
width: 100%;
height: 350rpx;
}
有不妥的地方,请指出!
未经作者同意,不得转载或者复制!
微信小程序引入腾讯地图API方法的更多相关文章
- 微信小程序 使用腾讯地图SDK详解及实现步骤
信小程序 使用腾讯地图SDK详解及实现步骤 微信小程序JavaScript SDK: 官方文档:http://lbs.qq.com/qqmap_wx_jssdk/index.html 步骤: 1 ...
- 微信小程序城市定位(百度地图API)
概述 微信小程序提供一些API(地址)用于获取当前用户的地理位置等信息,但无论是wx.getLocation,还是wx.chooseLocation均没有单独的字段表示国家与城市信息,仅有经纬度信息. ...
- 微信小程序 - 调用腾讯地图插件
1. 登录公众号平台 https://mp.weixin.qq.com/ 2. 设置->第三方服务->添加插件->输入插件名称->申请 3. 项目中使用 3.1 app.jso ...
- 微信小程序集成腾讯云 IM SDK
微信小程序集成腾讯云 IM SDK 1.背景 因业务功能需求需要接入IM(即时聊天)功能,一开始想到的是使用 WebSocket 来实现这个功能,然天意捉弄(哈哈)服务器版本太低不支持 wx 协议(也 ...
- 微信小程序引入md5.js
今天给大家安利一下微信小程序引入md5.js的方法,不多说 md5.js在下面 直接复制到项目的utils/md5.js即可 /* * A JavaScript implementation of t ...
- uni-app开发微信小程序引入UI组件库(Vant-weapp)步骤
uni-app开发微信小程序引入UI组件库(Vant-weapp)步骤 这里以vant-weapp为例 uni-app官方文档介绍引入组件的方法 1. 新建相关目录 根目录下创建 wxcomponen ...
- 微信小程序引入ECharts组件
首先打开ECharts网页 https://echarts.apache.org/zh/tutorial.html#%E5%9C%A8%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8 ...
- 微信小程序自动去除input空格的方法
当用户输入账号或者密码的时候,可能会有输入空格的情况,但是实际需要是不能够有空格的,所以我们要做一个去除空格,并且适应所有input的name参数的方法,下面请看源码: wxml: <input ...
- 微信小程序调用用百度地图天气功能
#小程序之调用百度地图天气功能 本篇博客主要介绍小程序在百度地图中获取天气信息,如有不全请指出.下面先上效果图 主要内容 百度地图API的个人密钥,也就是AK 请求百度地图API接口数据 获取到的信息 ...
随机推荐
- 新手学黑客攻防-黑客攻击电脑方式和认识IP地址
听说过黑客,没见过黑客,从最基础的开始学习,让我能在互联网中保护自己的隐私安全和信息安全. 黑客攻击电脑方式 黑客攻击的方式多种多样,但常见的只有以下几种,基本上每个黑客都会用到: 网络报文嗅探 网络 ...
- postgresql自增字段初始值的设定
在实际开发中会有这样的需求,想要自己设置表中自增字段的初始值. 比如:有一个your_table表中有一个自增字段id,我们知道,插入数据后,默认是从1开始自增的. 但是假如现在有一个需求,是要求id ...
- 浅谈 HTTP中Get与Post的区别
浅谈 HTTP中Get与Post的区别 存在的误区 有人说 HTTP 协议下的 Get 请求参数长度是有大小限制的,最大不能超过XX,而 Post 是无限制的,看到这里,我想他们定是看多了一些以讹传讹 ...
- Android UI性能测试——使用 Systrace 查找问题
一 官方文档翻译 官文地址:https://developer.android.com/studio/command-line/systrace systrace命令允许您在系统级别上收集和检查所有运 ...
- 爬虫如何使用phantomjs无头浏览器解决网页源代码经过渲染的问题(以scrapy框架为例)
一.浏览器的构成 许多开发商提供了商用的浏览器来解释和显示Web文档,而所有这些浏览器几乎都使用相同的体系架构.每一种浏览器(browser)通常由三部分构成:一个控制程序,客户协议和一些解释程序.控 ...
- SpringMVC框架——文件的上传与下载
使用SpringMVC框架做个小练习,需求: 1.单个图片上传并显示到页面中: 2.多个图片上传并显示到页面中: 3.上传文件后下载文件: 1.pom.xml中添加依赖 <!-- 文件上传 -- ...
- Servlet(简介,请求参数,页面跳转,生命周期,创建,配置,ServletContext,线程)
1.Servlet简介 servlet是java servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序, 主要功能在于交互式浏览和修改数据,生成动态的web内容 服务端运行的 ...
- VirtualBox 安装 Centos8 使用 Xshell 连接
1.下载CentOS CentOS下载地址:https://wiki.centos.org/Download 这里选择本地安装包,网络安装包在安装时需要在线下载资源比较慢 2.安装VirtualBox ...
- 02.Go语言开发环境搭建(新版)
安装Go语言及搭建Go语言开发环境 注意:Go语言1.14版本之后推荐使用go modules管理以来,也不再需要把代码写在GOPATH目录下了 下载 下载地址 Go官网下载地址:https://go ...
- NOI ONLINE 提高组 序列 根据性质建图
题目链接 https://www.luogu.com.cn/problem/P6185 题意 应该不难懂,跳过 分析 说实话第一眼看到这题的时候我有点懵,真不知道怎么做,不过一看数据,还好还好,暴力能 ...