Google地图官方API-在地图上绘图(弹出信息窗口)

简介:

信息窗口

介绍
显示内容在地图上方的弹出窗口(通常是文本或图像),在给定位置。信息窗口具有内容区域和锥形茎。茎的尖端连接到地图上的指定位置。 InfoWindow

一个InfoWindow,显示有关澳大利亚位置的信息。
通常,您会将信息窗口附加到 标记上,但也可以将信息窗口附加到特定的纬度/经度,如下面有关添加信息窗口的部分所述。

广义上讲,信息窗口是一种叠加层。有关其他类型的叠加层的信息,请参见 在地图上绘制。

提示:如果要在标记上显示单个文本字符,可以使用 标记标签。
提示:查看“ 商店定位器”解决方案 以获取更多使用信息窗口的示例。
添加信息窗口
所述构造函数采用 对象常量,它指定用于显示信息窗口的初始参数。 InfoWindow InfoWindowOptions

该InfoWindowOptions对象常量包含以下字段:

content 包含要在信息窗口中显示的文本字符串或DOM节点。
pixelOffset包含从信息窗口的尖端到信息窗口锚定位置的偏移量。实际上,您无需指定此字段。您可以将其保留为默认值。
position包含LatLng锚定此信息窗口的位置。注意:InfoWindow可以将an 附加到Marker对象(在这种情况下,其位置取决于标记的位置),也可以附加到指定位置的地图本身LatLng。检索a的一种方法LatLng是使用 地理编码服务。在标记上打开信息窗口会自动更新 position。
maxWidth指定信息窗口的最大宽度(以像素为单位)。默认情况下,信息窗口会扩展以适合其内容,如果信息窗口填满了地图,则会自动换行文本。如果添加一个maxWidth信息窗口,则会自动换行以强制执行指定的宽度。如果达到最大宽度并且屏幕上有垂直空间,则信息窗口可能会垂直扩展。
的内容InfoWindow可能包含文本字符串,HTML片段或DOM元素。要设置内容,InfoWindowOptions请setContent()在或在InfoWindow显式调用 上指定它。

如果希望显式调整内容的大小,则可以将其放在

元素中并
使用CSS设置样式。您也可以使用CSS启用滚动。请注意,如果您未启用滚动并且内容超出了信息窗口中的可用空间,则内容可能会溢出信息窗口。

最佳做法:为了获得最佳的用户体验,任何时候都只能在地图上打开一个信息窗口。多个信息窗口使地图显得混乱。如果一次只需要一个信息窗口,则可以仅创建一个InfoWindow对象,并在地图事件(例如用户单击)时在不同的位置或标记处打开它。如果确实需要多个信息窗口,则可以同时显示多个 InfoWindow对象。
打开信息窗口
创建信息窗口时,它不会自动显示在地图上。要使信息窗口可见,您需要在上调用open() 方法InfoWindow,将其传递Map给要打开的方法,还可以选择将Marker其作为锚定的方法。如果未提供标记,则信息窗口将在其position属性中打开 。

// This example displays a marker at the center of Australia.
// When the user clicks the marker, an info window opens.

function initMap() {
var uluru = {lat: -25.363, lng: 131.044};
var map = new google.maps.Map(document.getElementById('map'), {

zoom: 4,
center: uluru

});

var contentString = '

'+
  '<div id="siteNotice">'+
  '</div>'+
  '<h1 id="firstHeading" class="firstHeading">Uluru</h1>'+
  '<div id="bodyContent">'+
  '<p><b>Uluru</b>, also referred to as <b>Ayers Rock</b>, is a large ' +
  'sandstone rock formation in the southern part of the '+
  'Northern Territory, central Australia. It lies 335&#160;km (208&#160;mi) '+
  'south west of the nearest large town, Alice Springs; 450&#160;km '+
  '(280&#160;mi) by road. Kata Tjuta and Uluru are the two major '+
  'features of the Uluru - Kata Tjuta National Park. Uluru is '+
  'sacred to the Pitjantjatjara and Yankunytjatjara, the '+
  'Aboriginal people of the area. It has many springs, waterholes, '+
  'rock caves and ancient paintings. Uluru is listed as a World '+
  'Heritage Site.</p>'+
  '<p>Attribution: Uluru, <a href="https://en.wikipedia.org/w/index.php?title=Uluru&oldid=297882194">'+
  'https://en.wikipedia.org/w/index.php?title=Uluru</a> '+
  '(last visited June 22, 2009).</p>'+
  '</div>'+
  '</div>';

var infowindow = new google.maps.InfoWindow({

content: contentString

});

var marker = new google.maps.Marker({

position: uluru,
map: map,
title: 'Uluru (Ayers Rock)'

});
marker.addListener('click', function() {

infowindow.open(map, marker);

});
}

查看示例。

以下示例设置maxWidth信息窗口的: view example。

关闭信息窗口
默认情况下,InfoWindow在用户单击关闭控件(信息窗口右上角的叉号)之前,该控件保持打开状态。如果愿意,可以通过调用其close()方法显式关闭信息窗口。

移动信息窗口
有两种方法可以更改信息窗口的位置:

致电setPosition()信息窗口,或
使用InfoWindow.open()方法将信息窗口附加到新标记 。注意:如果调用时open() 未传递标记,则InfoWindow它将使用通过InfoWindowOptions对象文字构造时指定的位置 。
客制化
本InfoWindow类不提供定制。相反,请参阅 自定义弹出窗口示例, 以了解如何创建完全自定义的弹出窗口。

相关文章
|
1月前
|
JSON 搜索推荐 API
抖音商品详情API接口:获取商品信息的指南
抖音商品详情API接口由抖音开放平台提供,允许第三方应用访问抖音小店的商品数据,包括基本信息、价格、库存及用户评价等。其优势在于数据实时性、自动化处理、市场分析及个性化推荐。通过注册账号、获取API密钥、阅读文档和构建请求,用户可高效获取商品信息,提升运营效率。未来,该接口将在电商领域发挥更大作用。
|
2月前
|
JSON API 开发工具
【Azure 应用服务】调用Azure REST API来获取 App Service的访问限制信息(Access Restrictions)以及修改
【Azure 应用服务】调用Azure REST API来获取 App Service的访问限制信息(Access Restrictions)以及修改
|
4天前
|
Prometheus 监控 Cloud Native
调用淘宝 API 时如何处理错误信息?
调用淘宝API时,需熟悉其错误码体系,处理客户端(如参数错误、权限不足)和服务器(如内部错误、网络问题)错误,编写错误处理逻辑,并进行充分测试与监控,确保API调用稳定可靠。
|
27天前
|
XML JSON API
淘宝商品详情API接口:获取商品信息的指南
淘宝详情API接口是淘宝开放平台提供的一种API接口,它允许开发者通过编程方式获取淘宝商品的详细信息。这些信息包括商品的基本属性、价格、库存状态、销售策略、卖家信息等,对于电商分析、市场研究或者商品信息管理等场景非常有用。
49 1
|
1月前
|
安全 搜索推荐 PHP
信息收集的利器,Google骇客语法
信息收集的利器,Google骇客语法
40 2
|
2月前
|
存储 API C#
【Azure API 管理】在APIM 中添加 log-to-eventhub 策略,把 Request Body 信息全部记录在Event Hub中
【Azure API 管理】在APIM 中添加 log-to-eventhub 策略,把 Request Body 信息全部记录在Event Hub中
|
2月前
|
API 网络架构
【Azure Developer】如何通过Azure REST API 获取到虚拟机(VM)所使用的公共IP地址信息
【Azure Developer】如何通过Azure REST API 获取到虚拟机(VM)所使用的公共IP地址信息
|
2月前
|
存储 API C#
【Azure 存储服务】Storage Account Blob 使用REST API如何获取磁盘大小(Content-Length), IOPS信息
【Azure 存储服务】Storage Account Blob 使用REST API如何获取磁盘大小(Content-Length), IOPS信息
|
API 定位技术 Android开发
百度地图移动版API 1.2.2版本(Android)地图偏移的最佳解决办法
Import import com.baidu.mapapi.CoordinateConvert;import com.baidu.mapapi.GeoPoint; Code GeoPoint p = new GeoPoint(x, y);GeoPoint p2 = CoordinateConvert.
688 0
|
2天前
|
编解码 监控 API
直播源怎么调用api接口
调用直播源的API接口涉及开通服务、添加域名、获取API密钥、调用API接口、生成推流和拉流地址、配置直播源、开始直播、监控管理及停止直播等步骤。不同云服务平台的具体操作略有差异,但整体流程简单易懂。