html地图周边搜索,高德地图API实现定位、地点搜索和周边搜索(H5/Vue/微信小程序)...
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/微信小程序)...相关推荐
- 微信小程序学习实录6(百度经纬度采集、手动调整精度、H5嵌入小程序、百度地图jsAPI、实时定位、H5更新自动刷新)
百度经纬度采集 一.H5页面开发 1.手机端外部JS库 2.地图容器 3.数据表单 4.地图加载 5.回调封装函数+自动定位 二.微信小程序核心代码 1.lnglat.wxml 2.lnglat.js ...
- uniapp:使用百度API提取身份证信息(微信小程序适用)
首先,在百度申请apiKey和SecretKey,参考官网. https://ai.baidu.com/ai-doc/OCR/dk3iqnq51 想要提取身份证信息,一共需要完成三个步骤: 1.使用a ...
- 高德地图api调用demo_微信小程序----高德地图API实现的DEMO
[实例简介] 微信小程序----高德地图API实现的周边,天气,路线规划,地址详情等的DEMO.简单的效果,问一下官方能不能不要乱涨积分,你们涨积分,作者被骂!我真的很失望,再这样,我就不上传资源了! ...
- 项目 - Web地图开发【高德地图API】(二)
导航兔: Web地图开发 [高德地图API] 导航地址 Web地图开发[高德地图API](一) https://qianmoer.blog.csdn.net/article/details/12842 ...
- uniapp 微信小程序 选择地图位置并返回经纬度及详细地址(uni.chooseLocation和高德地图api两种方式实现)
uniapp 微信小程序实现选择地图位置功能 最近在做商家小程序,就是用于给实体店老板进行网上开店的小程序. 其中有一项功能就是获取商店的位置,要求支持:获取当前定位/检索到指定位置/地图选点等功能, ...
- 项目 - Web地图开发【高德地图API】(一)
导航兔: Web地图开发 [高德地图API] 导航地址 Web地图开发[高德地图API](一) https://qianmoer.blog.csdn.net/article/details/12842 ...
- right 微信小程序_微信小程序高德地图API
本文章介绍微信小程序调用高德地图API的过程,使用高德定位功能做演示. 微信小程序目前支持百度地图.高德地图.腾讯地图.用法可以说是基本完全一样,本文章以高德为例,简单说一下他们的区别,高德地图精度应 ...
- 微信小程序---高德地图API
本文章介绍微信小程序调用高德地图API的过程,使用高德定位功能做演示. 微信小程序目前支持百度地图.高德地图.腾讯地图.用法可以说是基本完全一样,本文章以高德为例,简单说一下他们的区别,高德地图精度应 ...
- 微信小程序-路线规划,地图导航功能基于高德地图API
主要实现微信小程序中的地图路线规划和地图导航功能 小程序二维码: 更新 2018年4月18日:新增限行限号查询. 2018年5月7日:新增快递查询,模板消息发送. 准备 1.在http://lbs.a ...
- 【微信小程序】免费的高德地图api——获取天气(全过程)
介绍 这里是小编成长之路的历程,也是小编的学习之路.希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡. 一个人为什么要努力? ...
最新文章
- 微服务治理实践:服务查询
- C# WPF 中用代码模拟鼠标和键盘的操作
- Java黑皮书课后题第5章:5.8(找出得最高分的学生)编写程序,提示用户输入学生的个数、每个学生名字及分数,最后显示获得最高分的学生
- DP专练1( [NOIP 2003]加分二叉树 + 太空梯 )
- java的md5盐值加密_MD5盐值加密
- 《iOS8 Swift编程指南》类书图像
- Smart Link与Monitor Link技术
- python语言中的模块包括_python中常用的模块的总结
- SVN和Git 介绍,区别,优缺点,适用范围总结
- OpenCV学习之多通道图像的混合
- 多人远程同时使用谷歌浏览器
- java/php/net/python志愿者管理系统程序设计
- 使用seaborn绘制热图
- 微信小程序开发深入解读
- C++中的开辟/释放动态空间new/delete
- 复数基础——复数的基本运算_2
- Rust:Structuring and handling errors in 2020学习笔记
- Android 获取某个文件夹下的所有文件
- Citrix 知识中心Top10 - 2012年9月 包括KB、白皮书、补丁、演讲以及工具。
- httpclient JAR包下载地址