html使用天地图写一个地图列表

一、效果图:

点击左侧地址列表,右侧地图跟着改变。

二、代码实现:

一进入页面时,通过body调用onLoad="onLoad()"函数,确保地图正常显示。

html 复制代码
<body onLoad="onLoad()">
					<!--左侧代码-->
					<div class="addressList">
							<div class="address_item"
								onclick="setCenterAndZoom(36.66416, 117.03215,'济南市历下区泉城路世茂广场东座商场三楼E370<br />Red Copper专柜 ')">
								<div class="name">济南世茂店</div>
								<div class="infobox">
									<img src="static/imgs/region@2x_1.png" />
									<div class="infos">济南市历下区泉城路世茂广场东座商场三楼E370<br />Red Copper专柜 </div>
								</div>
							</div>
							<div class="address_item"
								onclick="setCenterAndZoom(36.66637,117.1969,'济南市历城区经十路与凤鸣路交汇口(融创茂东门)L1层1032<br />Red Copper专柜')">
								<div class="name">济南融创店</div>
								<div class="infobox">
									<img src="static/imgs/region@2x_1.png" />
									<div class="infos">济南市历城区经十路与凤鸣路交汇口(融创茂东门)L1层1032<br />Red Copper专柜</div>
								</div>
							</div>
							<div class="address_item"
								onclick="setCenterAndZoom(39.9042, 116.4074,'济南市槐荫区经七纬十二路和谐银座七楼<br />Red Copper专柜 ')">
								<div class="name">济南和谐店</div>
								<div class="infobox">
									<img src="static/imgs/region@2x_1.png" />
									<div class="infos">济南市槐荫区经七纬十二路和谐银座七楼<br />Red Copper专柜 </div>
								</div>
							</div>
							......
						</div>
						
						<!--右侧代码-->
						<div class="imgbox" id="map"></div>
					
						<script type="text/javascript"
							src="http://api.tianditu.gov.cn/api?v=4.0&tk=此处填写自己申请的key值"></script>
						<script>
							var map;
							var zoom = 18;
							var marker;
	
							function onLoad() {
								//初始化地图对象
								map = new T.Map("map");
								//设置显示地图的中心点和级别
								map.centerAndZoom(new T.LngLat(117.02548, 36.66401), zoom);
	
								var lnglat = new T.LngLat(117.02548, 36.66401);
								//创建信息窗口对象
								var infoWin = new T.InfoWindow();
								infoWin.setLngLat(lnglat);
								//设置信息窗口要显示的内容
								infoWin.setContent("济南市历下区泉城路世茂广场东座商场三楼E370 Red Copper专柜");
								//向地图上添加信息窗口
								map.addOverLay(infoWin);
							}
	
							function setCenterAndZoom(lat, lng, name) {
								// var lng = document.getElementById("lng").value;
								// var lat = document.getElementById("lat").value;
								// var zoom = document.getElementById("zoom").value;
								map.centerAndZoom(new T.LngLat(lng, lat), zoom);
	
								let newMarker = map.getOverlays(); // 获取到了地图上的所有点
								// console.log(newMarker, 'newMarker');
								for (let i = 0; i < newMarker.length; i++) {
									map.removeOverLay(newMarker[i])
								};
	
								var lnglat = new T.LngLat(lng, lat);
								//创建信息窗口对象
								var infoWin = new T.InfoWindow();
								infoWin.setLngLat(lnglat);
								//设置信息窗口要显示的内容
								infoWin.setContent(name);
								//向地图上添加信息窗口
								map.addOverLay(infoWin);
							}
						</script>
</body>

ok~

相关推荐
葡萄城技术团队2 小时前
1000 人协同压测的环境瓶颈排查:CPU 争用与 Wi\-Fi
前端
excel3 小时前
Marked 与 Markdown 有什么区别?该怎么选?
前端
Da Da 泓4 小时前
五子棋 Web 端测试用例报告
前端·网络·websocket·网络协议·测试用例·项目
zxcvb1535 小时前
远程查看本地文档:一条轻量 Web 文件服务的工程化链路
前端·远程查看文档
niucloud-admin5 小时前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php
北岛贰5 小时前
啵啵音乐迎来全新升级!
前端
hkNaruto7 小时前
【AI】基于大模型的AI游戏地图生成、控制方案:AI Native Game Harness 迁移操作手册
前端·人工智能·游戏
IT_陈寒7 小时前
Java序列化踩坑记:对象循环引用让我加班两小时
前端·人工智能·后端
Acro7 小时前
快给macOS 上的Grok Bot换一套皮肤
前端
flash俊杰7 小时前
双引擎 OCR 编排:逐页判定、视觉优先、partial 语义与三层超时
前端