Javascript 谷歌地图Api从标记中获取标题
当我将一个标记推到数组中时,它会正确地绘制标记,并向数组中添加一个标题 我知道这是可行的,因为当我将Javascript 谷歌地图Api从标记中获取标题,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,当我将一个标记推到数组中时,它会正确地绘制标记,并向数组中添加一个标题 我知道这是可行的,因为当我将console.log(markersArray)记录在console.log中时它返回以下内容。标记的标题是隔壁的 下面是打开信息窗口的标记单击,但当我从控制台中注销名为mll的数据时,它没有标题 google.maps.event.addListener(marker, 'click', function(mll) { console.log(mll); var html=
console.log(markersArray)记录在console.log中时代码>它返回以下内容。标记的标题是隔壁的
下面是打开信息窗口的标记单击,但当我从控制台中注销名为mll
的数据时,它没有标题
google.maps.event.addListener(marker, 'click', function(mll) {
console.log(mll);
var html= "<div style='color:#000;background-color:#fff;padding:5px;width:150px;'><p>"+mll+"</p></div>";
iw = new google.maps.InfoWindow({content:html});
iw.open(map,marker);
});
google.maps.event.addListener(标记,'click',函数(mll){
控制台日志(mll);
var html=“”+mll+””;
iw=newgoogle.maps.InfoWindow({content:html});
iw.打开(地图、标记);
});
当数组拥有并成功推送了标题时,我如何才能获得单击
功能来拉入标题
?我记得以前做过类似的事情。在我的例子中,我使用带有圆圈标记的信息窗口。基本上,我将两者都放在不同的数组中。当我做圆标记时,我给它一个唯一的值,叫做place,它基本上是它的计数(创建的第n个圆的值是n)。在事件侦听器上,我根据当前圆的位置从另一个数组调用了infoWindow
您可以创建一个数组var titles=[]代码>以保存标题。
每次创建新标记时,递增avar count=0代码>,跟踪您有多少标记。
在标记器选项中,添加place:count
。当您需要特定的标题时,可以调用titles[marker.place]代码>
var infos = [];
var count = 0;
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var lastWindow;
count++;
var populationOptions = {
//leaving out defaults
place: count
};
var circle = new google.maps.Circle(populationOptions);
lastCircle = circle;
var contentString = 'just a string...';
var infowindow = new google.maps.InfoWindow({
content: contentString,
position: new google.maps.LatLng(data.lon, data.lad)
});
infos.push(infowindow);
google.maps.event.addListener(circle, 'mouseover', function() {
if(lastWindow){
lastWindow.close();
}
infos[circle.place].open(map);
lastWindow = infos[circle.place];
});
如果查看标记,单击事件将返回一个MouseEvent作为处理函数的参数(yourmll
);您可能希望使用this
,它应该是对标记的引用(因此this.getTitle()
将返回标题)。