如何利用【百度地图API】,制作房产酒店地图?(中)——使用右侧列表打开信息窗口

简介: 原文:如何利用【百度地图API】,制作房产酒店地图?(中)——使用右侧列表打开信息窗口摘要: 很多房产网、旅游酒店网上,都有一个列表,鼠标经过列表上的数据时,地图上就会打开相应的信息窗口。 如何实现这一功能呢? 快来学习吧。
原文: 如何利用【百度地图API】,制作房产酒店地图?(中)——使用右侧列表打开信息窗口

摘要:

很多房产网、旅游酒店网上,都有一个列表,鼠标经过列表上的数据时,地图上就会打开相应的信息窗口。

如何实现这一功能呢?

快来学习吧。

-----------------------------------------------------------------------------------------------

一、制作列表

接着上一篇文章来讲,我们已经拥有了一张能显示自定义标注,和信息窗口的地图了。现在,我们来加上列表。

首先,需要写上一段htm,来展示列表。

<div style="float:left;width:200px;height:340px;border:1px solid gray;border-width:1px 1px 1px 0;padding:0 10px 0 0;line-height:1.8em;">
<ul>
<li><span style="float:right;">120元</span><a href="#">如家快捷酒店</a></li>
<li><span style="float:right;">2370元</span><a href="#">昆仑大厦</a></li>
<li><span style="float:right;">50元</span><a href="#">华夏银行</a></li>
<li><span style="float:right;">16元</span><a href="#">成都小吃</a></li>
<li><span style="float:right;">300元</span><a href="#">锦绣大饭店</a></li>
<li><span style="float:right;">180元</span><a href="#">七天快捷酒店</a></li>
<li><span style="float:right;">9元</span><a href="#">中央民族大学</a></li>
<li><span style="float:right;">3300元</span><a href="#">昌平汽车专修学院</a></li>
<li><span style="float:right;">20元</span><a href="#">百度大厦</a></li>
<li><span style="float:right;">1000元</span><a href="#">海尔电器销售点</a></li>
</ul>
</div>

  

对了,不要忘记给列表中的链接加上样式。

二、打开对应的信息窗口

因为这里没有用到对应的marker,不能用上一篇文章中的打开信息窗口的方法了。

我们需要在地图上打开信息窗口

需要两个参数,第一是信息窗口的id,第二是信息窗口的坐标。如下:

function openMyWin(id,p){
map.openInfoWindow(id,p);
}

  

最后,只需要对列表中的数据,加上打开对应信息窗口的js语句即可。

如下,当鼠标滑过时,打开信息一的窗口。

onmouseover="openMyWin(infoWindow1,point[1])"

  

三、截图

四、源代码

为了方便大家学习,以下代码包含了上一章的全部代码,并做了改进。

全部源代码如下:

img_1c53668bcee393edac0d7b3b3daff1ae.gif img_405b18b4b6584ae338e0f6ecaf736533.gif View Code
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>酷讯酒店地图</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
<style type="text/css">
a
{text-decoration:none;color:#6ce;font-size:14px;}
a:hover
{text-decoration:underline;}
</style>
</head>
<body>
<div style="float:left;width:520px;height:340px;border:1px solid gray" id="container"></div>
<div style="float:left;width:200px;height:340px;border:1px solid gray;border-width:1px 1px 1px 0;padding:0 10px 0 0;line-height:1.8em;">
<ul>
<li><span style="float:right;">120元</span><a onmouseover="openMyWin(infoWindow1,point[1])" href="#">如家快捷酒店</a></li>
<li><span style="float:right;">2370元</span><a onmouseover="openMyWin(infoWindow2,point[2])" href="#">昆仑大厦</a></li>
<li><span style="float:right;">50元</span><a onmouseover="openMyWin(infoWindow3,point[3])" href="#">华夏银行</a></li>
<li><span style="float:right;">16元</span><a onmouseover="openMyWin(infoWindow4,point[4])" href="#">成都小吃</a></li>
<li><span style="float:right;">300元</span><a onmouseover="openMyWin(infoWindow5,point[5])" href="#">锦绣大饭店</a></li>
<li><span style="float:right;">180元</span><a onmouseover="openMyWin(infoWindow6,point[6])" href="#">七天快捷酒店</a></li>
<li><span style="float:right;">9元</span><a onmouseover="openMyWin(infoWindow7,point[7])" href="#">中央民族大学</a></li>
<li><span style="float:right;">3300元</span><a onmouseover="openMyWin(infoWindow8,point[8])" href="#">昌平汽车专修学院</a></li>
<li><span style="float:right;">20元</span><a onmouseover="openMyWin(infoWindow9,point[9])" href="#">百度大厦</a></li>
<li><span style="float:right;">1000元</span><a onmouseover="openMyWin(infoWindow0,point[0])" href="#">海尔电器销售点</a></li>
</ul>
</div>
</body>
</html>
<script type="text/javascript">
var map = new BMap.Map("container");
var point = new BMap.Point(116.404, 39.915);
map.centerAndZoom(point,
14);

var myIcon = new BMap.Icon("http://dev.baidu.com/wiki/static/map/API/examples/images/Mario.png", new BMap.Size(32, 70), { //小车图片
imageOffset: new BMap.Size(0, 0) //图片的偏移量。为了是图片底部中心对准坐标点。
});

var point = [new BMap.Point(116.411776,39.942833),new BMap.Point(116.320791,40.003682),new BMap.Point(116.275186,39.896095),new BMap.Point(116.425098,39.946249),new BMap.Point(116.359823,39.984761),new BMap.Point(116.316479,39.98323),new BMap.Point(116.385986,39.946124),new BMap.Point(116.427545,40.00796),new BMap.Point(116.446965,39.911603),new BMap.Point(116.454579,39.946652)]; //10个坐标点

var marker1 = new BMap.Marker(point[1],{icon:myIcon}); // 创建10个标注
var marker2 = new BMap.Marker(point[2],{icon:myIcon});
var marker3 = new BMap.Marker(point[3],{icon:myIcon});
var marker4 = new BMap.Marker(point[4],{icon:myIcon});
var marker5 = new BMap.Marker(point[5],{icon:myIcon});
var marker6 = new BMap.Marker(point[6],{icon:myIcon});
var marker7 = new BMap.Marker(point[7],{icon:myIcon});
var marker8 = new BMap.Marker(point[8],{icon:myIcon});
var marker9 = new BMap.Marker(point[9],{icon:myIcon});
var marker0 = new BMap.Marker(point[0],{icon:myIcon});

map.addOverlay(marker1);
// 将标注添加到地图中
map.addOverlay(marker2);
map.addOverlay(marker3);
map.addOverlay(marker4);
map.addOverlay(marker5);
map.addOverlay(marker6);
map.addOverlay(marker7);
map.addOverlay(marker8);
map.addOverlay(marker9);
map.addOverlay(marker0);

map.setViewport(point);
//调整地图的最佳视野为显示标注数组point

var opts1 = {offset : new BMap.Size(0, -25), title : '<span style="font-size:14px;color:#0A8021">如家快捷酒店</span>'};
var opts2 = {offset : new BMap.Size(0, -25), title : '<span style="font-size:14px;color:#0A8021">昆仑大厦</span>'};
var opts3 = {offset : new BMap.Size(0, -25), title : '<span style="font-size:14px;color:#0A8021">华夏银行</span>'};
var opts4 = {offset : new BMap.Size(0, -25), title : '<span style="font-size:14px;color:#0A8021">成都小吃</span>'};
var opts5 = {offset : new BMap.Size(0, -25), title : '<span style="font-size:14px;color:#0A8021">锦绣大饭店</span>'};
var opts6 = {offset : new BMap.Size(0, -25), title : '<span style="font-size:14px;color:#0A8021">七天快捷酒店</span>'};
var opts7 = {offset : new BMap.Size(0, -25), title : '<span style="font-size:14px;color:#0A8021">中央民族大学</span>'};
var opts8 = {offset : new BMap.Size(0, -25), title : '<span style="font-size:14px;color:#0A8021">昌平汽车专修学院</span>'};
var opts9 = {offset : new BMap.Size(0, -25), title : '<span style="font-size:14px;color:#0A8021">百度大厦</span>'};
var opts0 = {offset : new BMap.Size(0, -25), title : '<span style="font-size:14px;color:#0A8021">海尔电器销售点</span>'};

var infoWindow1 = new BMap.InfoWindow("<div style='line-height:1.8em;font-size:12px;'><b>地址:</b>北京市朝阳区高碑店小学旁</br><b>电话:</b>010-59921010</br><b>口碑:</b><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><a style='text-decoration:none;color:#2679BA;float:right' href='#'>详情>></a></div>", opts1); // 创建信息窗口对象,引号里可以书写任意的html语句。
var infoWindow2 = new BMap.InfoWindow("<div style='line-height:1.8em;font-size:12px;'><b>地址:</b>北京市海淀区紫竹院123号</br><b>电话:</b>010-59921010</br><b>口碑:</b><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><a style='text-decoration:none;color:#2679BA;float:right' href='#'>详情>></a></div>", opts2);
var infoWindow3 = new BMap.InfoWindow("<div style='line-height:1.8em;font-size:12px;'><b>地址:</b>北京市海淀区紫竹院123号</br><b>电话:</b>010-59921010</br><b>口碑:</b><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><a style='text-decoration:none;color:#2679BA;float:right' href='#'>详情>></a></div>", opts3);
var infoWindow4 = new BMap.InfoWindow("<div style='line-height:1.8em;font-size:12px;'><b>地址:</b>北京市海淀区紫竹院123号</br><b>电话:</b>010-59921010</br><b>口碑:</b><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><a style='text-decoration:none;color:#2679BA;float:right' href='#'>详情>></a></div>", opts4);
var infoWindow5 = new BMap.InfoWindow("<div style='line-height:1.8em;font-size:12px;'><b>地址:</b>北京市朝阳区高碑店小学旁</br><b>电话:</b>010-59921010</br><b>口碑:</b><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><a style='text-decoration:none;color:#2679BA;float:right' href='#'>详情>></a></div>", opts5);
var infoWindow6 = new BMap.InfoWindow("<div style='line-height:1.8em;font-size:12px;'><b>地址:</b>北京市大钟寺沧澜大厦</br><b>电话:</b>010-59921010</br><b>口碑:</b><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><a style='text-decoration:none;color:#2679BA;float:right' href='#'>详情>></a></div>", opts6);
var infoWindow7 = new BMap.InfoWindow("<div style='line-height:1.8em;font-size:12px;'><b>地址:</b>北京市朝阳区高碑店小学旁</br><b>电话:</b>010-59921010</br><b>口碑:</b><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><a style='text-decoration:none;color:#2679BA;float:right' href='#'>详情>></a></div>", opts7);
var infoWindow8 = new BMap.InfoWindow("<div style='line-height:1.8em;font-size:12px;'><b>地址:</b>北京市哇哈哈路鲜鱼一条街</br><b>电话:</b>010-59921010</br><b>口碑:</b><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><a style='text-decoration:none;color:#2679BA;float:right' href='#'>详情>></a></div>", opts8);
var infoWindow9 = new BMap.InfoWindow("<div style='line-height:1.8em;font-size:12px;'><b>地址:</b>北京市朝阳区高碑店小学旁</br><b>电话:</b>010-59921010</br><b>口碑:</b><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><a style='text-decoration:none;color:#2679BA;float:right' href='#'>详情>></a></div>", opts9);
var infoWindow0 = new BMap.InfoWindow("<div style='line-height:1.8em;font-size:12px;'><b>地址:</b>北京市朝阳区高碑店小学旁</br><b>电话:</b>010-59921010</br><b>口碑:</b><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' /><a style='text-decoration:none;color:#2679BA;float:right' href='#'>详情>></a></div>", opts0);

marker1.addEventListener(
"mouseover", function(){this.openInfoWindow(infoWindow1);});
marker2.addEventListener(
"mouseover", function(){this.openInfoWindow(infoWindow2);});
marker3.addEventListener(
"mouseover", function(){this.openInfoWindow(infoWindow3);});
marker4.addEventListener(
"mouseover", function(){this.openInfoWindow(infoWindow4);});
marker5.addEventListener(
"mouseover", function(){this.openInfoWindow(infoWindow5);});
marker6.addEventListener(
"mouseover", function(){this.openInfoWindow(infoWindow6);});
marker7.addEventListener(
"mouseover", function(){this.openInfoWindow(infoWindow7);});
marker8.addEventListener(
"mouseover", function(){this.openInfoWindow(infoWindow8);});
marker9.addEventListener(
"mouseover", function(){this.openInfoWindow(infoWindow9);});
marker0.addEventListener(
"mouseover", function(){this.openInfoWindow(infoWindow0);});

function openMyWin(id,p){
map.openInfoWindow(id,p);
}
</script>

  

目录
打赏
0
0
0
0
216
分享
相关文章
唯品会商品列表数据接口指南(唯品会 API 系列)
唯品会商品列表数据接口助力电商数据采集与分析,支持按类别、价格、品牌等条件筛选商品。通过HTTP GET/POST请求,开发者可获取商品基本信息、价格、品牌及销量等数据,适用于业务拓展和竞品研究。Python示例代码展示了如何使用`requests`库调用该接口,设置参数并处理响应。
1688 商品列表 API 深度拆解:从参数配置到数据获取
1688 是重要的批发采购平台,其商品列表 API 接口为开发者、商家和数据分析人员提供批量获取商品基础信息(如名称、价格、销量等)的能力。该接口支持市场调研、竞品分析等场景,助力商业决策与效率提升。接口基于 HTTPS 协议,采用 GET 或 POST 请求方式,需提供通用参数(如 app_key、timestamp 等)和业务参数(如 category_id、page_no 等)。响应数据以 JSON 格式返回,包含商品详情及分页信息。
34 13
京东商品列表 API 接口全解析:从入门到精通
京东商品列表API是京东开放平台为开发者提供的核心数据接口,支持批量获取商品基础信息、价格、库存状态等多维度数据。它具备数据丰富性、灵活筛选与分页查询、稳定高效等特点,可满足市场分析、选品优化、比价工具及推荐系统开发等需求,为电商业务创新提供坚实支撑。通过标准化通道,助力第三方高效、合法地利用京东海量商品数据。
深入研究:1688 商品列表 API 详解
1688商品列表API为电商数据分析、竞品调研等场景提供程序化数据获取方式。通过关键词、价格区间、销量范围及类目等条件筛选商品,返回商品标题、价格、销量等基本信息。支持HTTP GET/POST请求,响应格式为JSON或XML,助力业务分析与决策。
Python 原生爬虫教程:京东商品列表页面数据API
京东商品列表API是电商大数据分析的重要工具,支持开发者、商家和研究人员获取京东平台商品数据。通过关键词搜索、分类筛选、价格区间等条件,可返回多维度商品信息(如名称、价格、销量等),适用于市场调研与推荐系统开发。本文介绍其功能并提供Python请求示例。接口采用HTTP GET/POST方式,支持分页、排序等功能,满足多样化数据需求。
1688商品列表API接口指南
1688 商品列表 API 可帮助开发者和商家获取商品基本信息(如 ID、名称、价格等)、支持筛选排序(类目、价格、销量等条件)、分页查询及指定店铺商品获取,便于商品管理与竞品分析。调用流程包括:注册账号创建应用以获取 App Key 和 App Secret、生成签名确保请求合法性、构造请求参数(含 app_key、sign 等)、发送 HTTP 请求并处理 JSON 响应数据。
101 19
深入研究:微店商品列表API接口详解
微店商品列表API接口支持开发者以编程方式获取微店平台的商品数据,适用于电商数据分析、商品展示等场景。请求方式为POST,需提供`method`和`access_token`等参数,可选参数包括页码、排序方式、商品状态及关键词等。返回数据为JSON格式,包含商品ID、标题、价格、库存和缩略图URL等信息。常见错误包括`access_token`无效或参数错误,需根据错误码调整请求。
京东商品列表 API 接口全攻略
京东商品列表API接口是京东开放平台提供的开发者工具,支持关键词搜索、店铺ID指定和商品分类筛选等查询方式,实时获取商品基础及拓展信息。接口数据丰富、查询灵活、更新及时且安全可靠,适用于电商数据分析、比价应用开发等场景。Python调用示例展示了如何安装必要库、构造请求参数及签名、发送请求并处理响应,确保开发者能高效利用该接口。
70 11
shopee商品列表API接口获取步骤
虾皮(Shopee)商品列表 API 接口用于获取平台商品信息,支持按店铺 ID、类目、关键词等筛选条件查询商品数据,包括商品基本信息、图片、描述等。接口具备灵活性、数据丰富及分页机制等特点,满足电商数据分析与管理需求。示例代码展示了通过 Python 请求 API 获取某店铺商品列表的过程,包含请求头设置、参数定义及异常处理等功能,便于开发者快速上手使用。
淘宝买家订单列表、订单详情、订单物流 API 接口全攻略
淘宝订单相关API接口是电商自动化的核心工具,提供订单数据管理和物流追踪功能。开发者可通过HTTP协议调用,支持Python、Java等语言,响应JSON格式数据。主要功能包括:订单列表查询、订单详情获取和物流轨迹追踪。申请流程:注册账号(c0b.cc/R4rbK2),创建应用并生成App Key,申请所需接口权限如taobao.trades.sold.get、taobao.trade.fullinfo.get等。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等