微信小程序大热,在小程序过程中,我们很多时候都会用到地图。不管是企业的地址,还是商家的配送都会用到地图;

我在刚写地图这一块时,在网上也参考了很多网友的方法,始终有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方法的更多相关文章

  1. 微信小程序 使用腾讯地图SDK详解及实现步骤

    信小程序 使用腾讯地图SDK详解及实现步骤    微信小程序JavaScript SDK: 官方文档:http://lbs.qq.com/qqmap_wx_jssdk/index.html 步骤: 1 ...

  2. 微信小程序城市定位(百度地图API)

    概述 微信小程序提供一些API(地址)用于获取当前用户的地理位置等信息,但无论是wx.getLocation,还是wx.chooseLocation均没有单独的字段表示国家与城市信息,仅有经纬度信息. ...

  3. 微信小程序 - 调用腾讯地图插件

    1. 登录公众号平台 https://mp.weixin.qq.com/ 2. 设置->第三方服务->添加插件->输入插件名称->申请 3. 项目中使用 3.1 app.jso ...

  4. 微信小程序集成腾讯云 IM SDK

    微信小程序集成腾讯云 IM SDK 1.背景 因业务功能需求需要接入IM(即时聊天)功能,一开始想到的是使用 WebSocket 来实现这个功能,然天意捉弄(哈哈)服务器版本太低不支持 wx 协议(也 ...

  5. 微信小程序引入md5.js

    今天给大家安利一下微信小程序引入md5.js的方法,不多说 md5.js在下面 直接复制到项目的utils/md5.js即可 /* * A JavaScript implementation of t ...

  6. uni-app开发微信小程序引入UI组件库(Vant-weapp)步骤

    uni-app开发微信小程序引入UI组件库(Vant-weapp)步骤 这里以vant-weapp为例 uni-app官方文档介绍引入组件的方法 1. 新建相关目录 根目录下创建 wxcomponen ...

  7. 微信小程序引入ECharts组件

    首先打开ECharts网页 https://echarts.apache.org/zh/tutorial.html#%E5%9C%A8%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8 ...

  8. 微信小程序自动去除input空格的方法

    当用户输入账号或者密码的时候,可能会有输入空格的情况,但是实际需要是不能够有空格的,所以我们要做一个去除空格,并且适应所有input的name参数的方法,下面请看源码: wxml: <input ...

  9. 微信小程序调用用百度地图天气功能

    #小程序之调用百度地图天气功能 本篇博客主要介绍小程序在百度地图中获取天气信息,如有不全请指出.下面先上效果图 主要内容 百度地图API的个人密钥,也就是AK 请求百度地图API接口数据 获取到的信息 ...

随机推荐

  1. 新手学黑客攻防-黑客攻击电脑方式和认识IP地址

    听说过黑客,没见过黑客,从最基础的开始学习,让我能在互联网中保护自己的隐私安全和信息安全. 黑客攻击电脑方式 黑客攻击的方式多种多样,但常见的只有以下几种,基本上每个黑客都会用到: 网络报文嗅探 网络 ...

  2. postgresql自增字段初始值的设定

    在实际开发中会有这样的需求,想要自己设置表中自增字段的初始值. 比如:有一个your_table表中有一个自增字段id,我们知道,插入数据后,默认是从1开始自增的. 但是假如现在有一个需求,是要求id ...

  3. 浅谈 HTTP中Get与Post的区别

    浅谈 HTTP中Get与Post的区别 存在的误区 有人说 HTTP 协议下的 Get 请求参数长度是有大小限制的,最大不能超过XX,而 Post 是无限制的,看到这里,我想他们定是看多了一些以讹传讹 ...

  4. Android UI性能测试——使用 Systrace 查找问题

    一 官方文档翻译 官文地址:https://developer.android.com/studio/command-line/systrace systrace命令允许您在系统级别上收集和检查所有运 ...

  5. 爬虫如何使用phantomjs无头浏览器解决网页源代码经过渲染的问题(以scrapy框架为例)

    一.浏览器的构成 许多开发商提供了商用的浏览器来解释和显示Web文档,而所有这些浏览器几乎都使用相同的体系架构.每一种浏览器(browser)通常由三部分构成:一个控制程序,客户协议和一些解释程序.控 ...

  6. SpringMVC框架——文件的上传与下载

    使用SpringMVC框架做个小练习,需求: 1.单个图片上传并显示到页面中: 2.多个图片上传并显示到页面中: 3.上传文件后下载文件: 1.pom.xml中添加依赖 <!-- 文件上传 -- ...

  7. Servlet(简介,请求参数,页面跳转,生命周期,创建,配置,ServletContext,线程)

    1.Servlet简介 servlet是java servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序, 主要功能在于交互式浏览和修改数据,生成动态的web内容 服务端运行的 ...

  8. VirtualBox 安装 Centos8 使用 Xshell 连接

    1.下载CentOS CentOS下载地址:https://wiki.centos.org/Download 这里选择本地安装包,网络安装包在安装时需要在线下载资源比较慢 2.安装VirtualBox ...

  9. 02.Go语言开发环境搭建(新版)

    安装Go语言及搭建Go语言开发环境 注意:Go语言1.14版本之后推荐使用go modules管理以来,也不再需要把代码写在GOPATH目录下了 下载 下载地址 Go官网下载地址:https://go ...

  10. NOI ONLINE 提高组 序列 根据性质建图

    题目链接 https://www.luogu.com.cn/problem/P6185 题意 应该不难懂,跳过 分析 说实话第一眼看到这题的时候我有点懵,真不知道怎么做,不过一看数据,还好还好,暴力能 ...