利用高德地图模拟美团搜索相似地址以及地图摄取选择类似地址

2023-11-07 01:59

本文主要是介绍利用高德地图模拟美团搜索相似地址以及地图摄取选择类似地址,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

效果图

我觉得不用废话那么多,直接上代码吧!

<!doctype html>
<html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"><link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css" /><link rel="stylesheet" type="text/css" href="https://a.amap.com/jsapi_demos/static/demo-center/css/prety-json.css"><style>html,body{width: 100%;height: 100%;}.mapOut{position: absolute;width: 100%;height: 100%;box-sizing: border-box;-webkit-box-sizing: border-box;padding-bottom: 230px;}#container {width: 100%;height: 100%;}.info{min-width: 26rem;}#search {position: absolute;left: 0;top: 0;z-index: 1000;}#infoBottom{position: fixed;left: 0;width: 100%;bottom: 0;background-color: white;z-index: 1000000;border-radius: 10px 10px 0 0;padding:10px;box-shadow: 0 0px 2px rgba(0,0,0,0.2);-webkit-box-shadow: 0 0px 2px rgba(0,0,0,0.2);height: 250px;overflow: hidden;overflow-y: scroll;-webkit-overflow-scrolling: touch;}.infoLine{box-sizing: border-box;-webkit-box-sizing: border-box;padding: 5px 0;border-bottom: 1px dashed #dcdcdc;}.infoLine p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}	.infoLine:nth-last-child(1){border-bottom: 0px;}.mapReturn{width: 1.6rem;height: 1.6rem;border: 0.22rem solid #3c3c3c;position: absolute;left: 1.5rem;top: 1.3rem;border-bottom: 0;border-right: 0;z-index: 10000;transform: rotate(-45deg);-webkit-transform: rotate(-45deg);}</style><title>选择地址</title></head><body><div class="mapOut"><div id="container"></div></div><div class="mapReturn"></div><div class="info"><input type="text" id="search" /></div><div id="infoBottom"></div><script src="https://webapi.amap.com/maps?v=1.4.15&key=5433dcc2bc76f4bfae5b9b20179efac5&plugin=AMap.PlaceSearch"></script><script type="text/javascript" src="https://a.amap.com/jsapi_demos/static/demo-center/js/jquery-1.11.1.min.js"></script><script type="text/javascript" src="https://a.amap.com/jsapi_demos/static/demo-center/js/underscore-min.js"></script><script type="text/javascript" src="https://a.amap.com/jsapi_demos/static/demo-center/js/backbone-min.js"></script><script type="text/javascript" src='https://a.amap.com/jsapi_demos/static/demo-center/js/prety-json.js'></script><script>var startPosition = [113.26762, 23.129623];var startName = '珠江国际大厦';//标记点var marker;// 初始化地图var map = new AMap.Map("container", {resizeEnable: true,center: startPosition,zoom: 18});//添加地址插件var placeSearch;AMap.plugin('AMap.PlaceSearch', function() {placeSearch = new AMap.PlaceSearch({pageSize: 10, // 每页10条pageIndex: 1, // 获取第一页});aMapSearchNearBy(startPosition);marker = new AMap.Marker({position: new AMap.LngLat(startPosition[0], startPosition[1]),   // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]title: startName});map.add(marker);})// 移除已创建的 marker//map.remove(marker);document.getElementById('search').oninput = function(e) {var keywords = $(this).val();console.log(keywords);placeSearch.search(keywords, function(status, result) {console.log(result);$('#infoBottom').empty();locationList = result.poiList.pois;for(var i=0; i<locationList.length; i++){$('#infoBottom').append('<div class="infoLine" lng='+locationList[i].location.lng+' lat='+locationList[i].location.lat+'><div class="infoName"><p>名称:'+locationList[i].name+'</p></div><div class="infoAddress"><p>地址:<span>'+locationList[i].address+'</span></p></div></div>')if(i == 0){map.setCenter([locationList[i].location.lng, locationList[i].location.lat]);map.remove(marker);marker = new AMap.Marker({position: new AMap.LngLat(locationList[i].location.lng, locationList[i].location.lat),   // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]title: locationList[i].name});map.add(marker);}}$('#infoBottom').scrollTop(0);})};function aMapSearchNearBy(centerPoint) {// 第一个参数是关键字,这里传入的空表示不需要根据关键字过滤// 第二个参数是经纬度,数组类型// 第三个参数是半径,周边的范围// 第四个参数为回调函数placeSearch.searchNearBy('', centerPoint, 1000, function(status, result) {if(result.info === 'OK') {var locationList = result.poiList.pois; // 周边地标建筑列表console.log(locationList);$('#infoBottom').empty();for(var i=0; i<locationList.length; i++){$('#infoBottom').append('<div class="infoLine" lng='+locationList[i].location.lng+' lat='+locationList[i].location.lat+'><div class="infoName"><p>名称:'+locationList[i].name+'</p></div><div class="infoAddress"><p>地址:<span>'+locationList[i].address+'</span></p></div></div>')}$('#infoBottom').scrollTop(0);} else {$('.infoBottom').empty();console.log('获取位置信息失败!');}});}map.on('click', function(e) {var text = '您在 [ ' + e.lnglat.getLng() + ',' + e.lnglat.getLat() + ' ] 的位置双击了地图!';aMapSearchNearBy([e.lnglat.getLng(), e.lnglat.getLat()]);map.setCenter([e.lnglat.getLng(), e.lnglat.getLat()]);map.remove(marker);marker = new AMap.Marker({position: new AMap.LngLat(e.lnglat.getLng(), e.lnglat.getLat()),   // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]title: ''});map.add(marker);});//选取地址$('#infoBottom').on('click','.infoLine',function(){var lng = $(this).attr('lng');var lat = $(this).attr('lat');var address = $(this).find('.infoAddress span').text();console.log(lng,lat,address);})</script></body></html>

想做微信小程序、H5、微官网可以联系我,qq392563086

这篇关于利用高德地图模拟美团搜索相似地址以及地图摄取选择类似地址的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/360495

相关文章

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

Python模拟串口通信的示例详解

《Python模拟串口通信的示例详解》pySerial是Python中用于操作串口的第三方模块,它支持Windows、Linux、OSX、BSD等多个平台,下面我们就来看看Python如何使用pySe... 目录1.win 下载虚www.chinasem.cn拟串口2、确定串口号3、配置串口4、串口通信示例5

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I

exfat和ntfs哪个好? U盘格式化选择NTFS与exFAT的详细区别对比

《exfat和ntfs哪个好?U盘格式化选择NTFS与exFAT的详细区别对比》exFAT和NTFS是两种常见的文件系统,它们各自具有独特的优势和适用场景,以下是关于exFAT和NTFS的详细对比... 无论你是刚入手了内置 SSD 还是便携式移动硬盘或 U 盘,都需要先将它格式化成电脑或设备能够识别的「文

Java根据IP地址实现归属地获取

《Java根据IP地址实现归属地获取》Ip2region是一个离线IP地址定位库和IP定位数据管理框架,这篇文章主要为大家详细介绍了Java如何使用Ip2region实现根据IP地址获取归属地,感兴趣... 目录一、使用Ip2region离线获取1、Ip2region简介2、导包3、下编程载xdb文件4、J

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地