在谷歌地图中通过标记id获取标记customInfo
Getting marker customInfo by marker id in google maps
我需要在地图上打开信息窗口,当我点击地图页面上的链接(不标记它自己)。下面是目前为止的代码,
var marker = new MarkerWithLabel({
map: resultsMap,
id: label,
position: latlng,
title: "Address",
// radius: int_radius ,
draggable: false,
labelAnchor: new google.maps.Point(10, 35),
labelContent: label,
labelClass: "labels",
labelInBackground: false,
mapTypeId: google.maps.MapTypeId.ROADMAP,
icon: image,
customInfo: "dynamic data for each marker"
});
和调用函数
function bindInfoWindow(resultsMap, marker, infoWindow) {
google.maps.event.addListener(marker, 'click',
function(){
infoWindow.setContent(marker.customInfo);
infoWindow.open(resultsMap,marker);
});
$(document).on('click','.store-title', function(){
var linkId = $(this).attr('id');
infoWindow.setContent(marker.customInfo);
infoWindow.open(resultsMap,marker);
});
}
在我的情况下,我不能使用数组来存储标记。有办法得到标记吗?使用如下的条件customInfo ?请注意,当我点击标记,它的工作。我需要它用于后面的onclick功能。
infoWindow.setContent(marker.customInfo where marker.id==linkId);
这可能会起作用,将其保留在您当前拥有的bindInfoWindow
中:
$(document).on('click','.store-title', function() {
var linkId = $(this).attr('id');
if (linkId == marker.id) {
google.maps.event.trigger(marker, 'click');
}
});
请注意,我将 -似乎不需要。marker
作为数据参数传递给单击事件句柄,但您可能不需要这样做。
然后触发该标记上的点击,而不是重复你已经在标记的点击处理程序中得到的代码。
我假设你添加到每个标记的id
属性与你在链接上阅读的"id"属性相同。如果没有,你能在标记和链接上有一些相同的属性吗?
相关文章:
- 使用angularjs中的rest调用通过id获取数据
- javascript从id获取数字
- 如何通过ID获取图层对象
- 通过jstree中的Id获取节点
- 在控制器中按ID获取XML ViewElement(MultiInput)
- node.js使用monk从数组中按id获取文档
- 如何使用API从多个IMDB ID获取电影信息
- 我的ID获取元素不起作用
- 如何通过 id 获取“this”元素并查看是否选中
- 使用类而不是 ID(通过 CLASS 而不是 ID 获取元素)
- 如何在Ember.js中使用jQuery通过id获取元素
- 使用类名按ID获取元素
- jquery模态对话框通过id获取输入类型text的值
- 通过ID获取声明性dojo数据网格
- 可以't按id获取元素
- 根据DropDown ID获取DropDownListFor的选定值
- jquery如何使用chlid id获取父元素的类
- 在iframe中通过id获取元素
- 主干模型通过ID获取JSON元素
- 在javascript中通过id获取元素,而页面上没有任何表单标记