JS API 2.0版本提供了两种方式引入JSAPI:JSAPI Loader(推荐)

直接引入JSAPI脚本

这里采取的是JSAPI Loader的方式(可有效避免异步加载问题,且多次执行加载操作时不会重复请求网络资源等)。

1. 普通html页面

在页面创建地图对象

AMapLoader.load({

"key": "你的key", // Web端 (JSAPI) key,首次调用load必填

"version": "2.0", // JSAPI版本,默认 1.4.15

"plugins": ["AMap.Geolocation", "AMap.PlaceSearch"], // 要使用的插件列表

}).then((map) => {

AMap = map;

initMap()

}).catch((e) => {

// 高德地图加载失败

console.error(e)

})

// 渲染地图到页面(要在服务器环境才能渲染成功)

function initMap() {

let map = new AMap.Map('container', {

center: [116.857461, 38.310582], // 地图中心点坐标

zoom: 15, // 地图缩放级别

});

}

复制代码

获取定位// 获取位置

function getLocation() {

let geolocation = new AMap.Geolocation({

enableHighAccuracy: true, // 是否获取高精度定位,可能影响效率,默认false

timeout: 10000, // 定位超时时间,ms

needAddress: true, // 是否需要将定位结果进行逆地理编码操作

extensions: 'all', // 是否需要详细的你地理编码信息,默认'base'

})

// 获取精确位置

geolocation.getCurrentPosition(function(status, result) {

console.log(status);

console.log(result);

})

// 获取城市信息

geolocation.getCityInfo(function(status, result) {

console.log(status);

console.log(result);

})

}

复制代码

地点搜索// 地址搜索

function placeSearch(search) {

if(!search) return;

let placeSearch = new AMap.PlaceSearch({

city: '沧州市', // 兴趣点城市,支持城市名、citycode、adcode

citylimit: true, // 是否强制在设置的城市内搜索,默认false

// type: '', // 兴趣点类别,用‘|’分隔,默认:'餐饮服务|商务住宅|生活服务'

pageSize: 20, // 每页条数,默认10,范围1-50

pageIndex: 1, // 页码

extensions: 'all', // 默认base,返回基本地址信息;all:返回详细信息

// map: map, // 地图实例,可选

// panel: 'panel', // 结果列表的id容器,可选

autoFitView: true, // 是否自动调整地图视野到marker点都处于可见范围

})

placeSearch.search(search, function(status, result) {

console.log(result)

})

}

复制代码

周边搜索// 周边搜索

function searchNear() {

let placeSearch = new AMap.PlaceSearch({

// city: '', // 兴趣点城市

citylimit: true, // 是否强制在设置的城市内搜索,默认false

// type: '', // 兴趣点类别,用‘|’分隔,默认:'餐饮服务|商务住宅|生活服务'

pageSize: 20, // 每页条数,默认10,范围1-50

pageIndex: 1, // 页码

extensions: 'all', // 默认base,返回基本地址信息;all:返回详细信息

// map: map, // 地图实例,可选

// panel: 'panel', // 结果列表的id容器,可选

// autoFitView: true, // 是否自动调整地图视野到marker点都处于可见范围

})

let keywords = '', // 关键字

position = [116.857461, 38.310582], // 中心点经纬度

radius = 2000; // 搜索半径 0-50000

placeSearch.searchNearBy(keywords, position, radius, function(status, result) {

console.log(result)

})

}

复制代码

2. Vue

安装 npm i @amap/amap-jsapi-loader --save

使用

import AMapLoader from '@amap/amap-jsapi-loader'

import { AMapKey_H5 } from '@/config.js'

let AMap = null

export default {

created() {

this.initAMap()

},

methods: {

initAMap() {

const that = this

AMapLoader.load({

"key": AMapKey_H5,

"version": '2.0',

"plugins": ['AMap.PlaceSearch', 'AMap.Geolocation']

}).then((map) => {

AMap = map

// 其他功能同h5

}).catch(e => {

console.log('高德地图加载错误', e)

})

}

}

}

复制代码

3. 微信小程序(小程序的key和web端的不同,需重新创建)const amapFile = require('../../common/amap-wx.130.js')

import { AMapKey_WX } from '../../config.js'

Page({

data: {

latitude: '',

longitude: ''

},

onLoad: function() {

this.initAMap()

},

initAMap() {

const that = this

wx.getLocation({

success: function(res) {

that.setData({

latitude: res.latitude,

longitude: res.longitude

}, function() {

that.loadCity()

})

}

})

},

// 获取位置信息

loadCity() {

const AMapWx = new amapFile.AMapWX({key: AMapKey_WX})

const that = this

let { longitude, latitude } = this.data

AMapWx.getRegeo({

extensions: 'base',

location: `${longitude},${latitude}`,

success: function(res) {

console.log(res)

// 返回结果包含省、市、区,地址描述(例:沧州市工业和信息化局附近),和附近POI

},

fail: function(res) {

console.log(res)

}

})

},

// 地点搜索

placeSearch(search) {

const AMapWx = new amapFile.AMapWX({key: AMapKey_WX})

const that = this

AMapWx.getInputtips({

keywords: search, // 查询关键词

city: '沧州市', // 兴趣城市

citylimit: true, // 是否限制在当前城市内搜索

pageSize: 40, // 单页显示结果的条数

pageIndex: 1, // 页码

// location: '', // 经纬度 用逗号隔开的字符串

success: function(data) {

if(data && data.tips) {

that.setData({

poisList: data.tips

})

}

}

})

},

// 检索周边的POI

getPOIAround(search) {

const AMapWx = new amapFile.AMapWX({key: AMapKey_WX})

const that = this

let { longitude, latitude } = this.data

AMapWx.getPoiAround({

querykeywords: search, // 检索关键词

location: `${longitude},${latitude}`,

success: function(res) {

console.log('检索成功')

console.log(res)

that.poisList = res.poisData

},

fail: function(res) {

console.log(res)

}

})

}

})

html地图周边搜索,高德地图API实现定位、地点搜索和周边搜索(H5/Vue/微信小程序)...相关推荐

  1. 微信小程序学习实录6(百度经纬度采集、手动调整精度、H5嵌入小程序、百度地图jsAPI、实时定位、H5更新自动刷新)

    百度经纬度采集 一.H5页面开发 1.手机端外部JS库 2.地图容器 3.数据表单 4.地图加载 5.回调封装函数+自动定位 二.微信小程序核心代码 1.lnglat.wxml 2.lnglat.js ...

  2. uniapp:使用百度API提取身份证信息(微信小程序适用)

    首先,在百度申请apiKey和SecretKey,参考官网. https://ai.baidu.com/ai-doc/OCR/dk3iqnq51 想要提取身份证信息,一共需要完成三个步骤: 1.使用a ...

  3. 高德地图api调用demo_微信小程序----高德地图API实现的DEMO

    [实例简介] 微信小程序----高德地图API实现的周边,天气,路线规划,地址详情等的DEMO.简单的效果,问一下官方能不能不要乱涨积分,你们涨积分,作者被骂!我真的很失望,再这样,我就不上传资源了! ...

  4. 项目 - Web地图开发【高德地图API】(二)

    导航兔: Web地图开发 [高德地图API] 导航地址 Web地图开发[高德地图API](一) https://qianmoer.blog.csdn.net/article/details/12842 ...

  5. uniapp 微信小程序 选择地图位置并返回经纬度及详细地址(uni.chooseLocation和高德地图api两种方式实现)

    uniapp 微信小程序实现选择地图位置功能 最近在做商家小程序,就是用于给实体店老板进行网上开店的小程序. 其中有一项功能就是获取商店的位置,要求支持:获取当前定位/检索到指定位置/地图选点等功能, ...

  6. 项目 - Web地图开发【高德地图API】(一)

    导航兔: Web地图开发 [高德地图API] 导航地址 Web地图开发[高德地图API](一) https://qianmoer.blog.csdn.net/article/details/12842 ...

  7. right 微信小程序_微信小程序高德地图API

    本文章介绍微信小程序调用高德地图API的过程,使用高德定位功能做演示. 微信小程序目前支持百度地图.高德地图.腾讯地图.用法可以说是基本完全一样,本文章以高德为例,简单说一下他们的区别,高德地图精度应 ...

  8. 微信小程序---高德地图API

    本文章介绍微信小程序调用高德地图API的过程,使用高德定位功能做演示. 微信小程序目前支持百度地图.高德地图.腾讯地图.用法可以说是基本完全一样,本文章以高德为例,简单说一下他们的区别,高德地图精度应 ...

  9. 微信小程序-路线规划,地图导航功能基于高德地图API

    主要实现微信小程序中的地图路线规划和地图导航功能 小程序二维码: 更新 2018年4月18日:新增限行限号查询. 2018年5月7日:新增快递查询,模板消息发送. 准备 1.在http://lbs.a ...

  10. 【微信小程序】免费的高德地图api——获取天气(全过程)

    介绍 这里是小编成长之路的历程,也是小编的学习之路.希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡. 一个人为什么要努力? ...

最新文章

  1. 微服务治理实践:服务查询
  2. C# WPF 中用代码模拟鼠标和键盘的操作
  3. Java黑皮书课后题第5章:5.8(找出得最高分的学生)编写程序,提示用户输入学生的个数、每个学生名字及分数,最后显示获得最高分的学生
  4. DP专练1( [NOIP 2003]加分二叉树 + 太空梯 )
  5. java的md5盐值加密_MD5盐值加密
  6. 《iOS8 Swift编程指南》类书图像
  7. Smart Link与Monitor Link技术
  8. python语言中的模块包括_python中常用的模块的总结
  9. SVN和Git 介绍,区别,优缺点,适用范围总结
  10. OpenCV学习之多通道图像的混合
  11. 多人远程同时使用谷歌浏览器
  12. java/php/net/python志愿者管理系统程序设计
  13. 使用seaborn绘制热图
  14. 微信小程序开发深入解读
  15. C++中的开辟/释放动态空间new/delete
  16. 复数基础——复数的基本运算_2
  17. Rust:Structuring and handling errors in 2020学习笔记
  18. Android 获取某个文件夹下的所有文件
  19. Citrix 知识中心Top10 - 2012年9月 包括KB、白皮书、补丁、演讲以及工具。
  20. httpclient JAR包下载地址

热门文章

  1. 线段树 从入门到进阶(超清晰,简单易懂)
  2. 达梦数据库DM8支持Seata事务框架
  3. MIT开创减少双量子比特门误差的新方法,提高鲁棒性迈向纠错量子计算机
  4. 亚马逊服务器怎么修改登录密码,将亚马逊aws的ec2服务器的登陆方式改为密码登陆...
  5. 了解一下nested数据类型
  6. Intellij IDear关闭页面浏览器显示图标
  7. 卷积操作中的group
  8. 苹果怎样用小米云服务器,小米云服务ios版
  9. 撤销性CP-ABE方案研究现状总结 - 2021
  10. python 标签云_Python中文标签云之pytagcloud