谷歌infoBox位置
google infoBox position
我试图根据标记的latLng来定位我的infoBox,我尝试了position(latLng),但没有成功,我不想硬编码pixelOffset,因为它与标记位置不对应,我还尝试了pixel胶印(latLn)、getPosition和setPosition方法。
以上似乎都做得不对:/
for (var i = data.length - 1; i >= 0; i--){
var Lat = data[i].Item.Coordinate.Lat;
var Lon = data[i].Item.Coordinate.Lon;
var LatLon = new gm.LatLng(jobLat, +jobLon);
var marker = new gm.Marker({
position: LatLon,
map: map,
visible: true
});
var infobox = new InfoBox ({
position: marker.position or LatLon
});
marker.newContent = document.getElementById("infobox_"+data[i].Item.Id);
gm.event.addListener(marker, 'click', (function (marker) {
return function (pin, suppressInfoWindow) {
if (!suppressInfoWindow) {
infobox.setContent(marker.newContent);
infobox.open(map, marker);
}
}
}
resultMarkers.push(marker);
似乎工作正常
var infoboxWidth = -650/2;
if(getWidth === 'xs'){
infoboxWidth = -320/2;
}
var infobox = new InfoBox({
pixelOffset: new gm.Size(infoboxWidth, -65),
alignBottom: true
});
在data
数组上循环,创建标记
每次重新初始化infobox
变量以使用当前标记的位置
在循环的末尾,有一个名为infobox
的变量,该变量具有最后一个标记的位置。
当你点击任何一个标记时,它会打开该位置的信息框。而不是重新创建的infobox变量的第n次迭代在创建标记时所处的位置。
您所需要做的就是设置信息框在事件侦听器中的位置。
for (var i = data.length - 1; i >= 0; i--){
var Lat = data[i].Item.Coordinate.Lat;
var Lon = data[i].Item.Coordinate.Lon;
var LatLon = new gm.LatLng(jobLat, +jobLon);
var marker = new gm.Marker({
position: LatLon,
map: map,
visible: true
});
var infobox = new InfoBox();
marker.newContent = document.getElementById("infobox_"+data[i].Item.Id);
gm.event.addListener(marker, 'click', (function (marker) {
return function (pin, suppressInfoWindow) {
if (!suppressInfoWindow) {
infobox.setContent(marker.newContent);
infobox.setPosition(marker.getPosition());
infobox.open(map, marker);
}
}
}
resultMarkers.push(marker);
相关文章:
- jquery试图按名称获取按钮位置
- 我可以获得相对于被点击元素的确切点击位置吗
- 谷歌地图固定位置覆盖
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 循环比赛位置算法
- es6 相当于下划线查找位置
- jQuery循环在特定位置暂停
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- 自定义函数中的光标位置
- 安卓平台上的QWebView HTML5地理位置
- DIV并排,位置不正确
- 使用jQuery更改元素的顶部位置
- 在谷歌地图上绘制位置数据库
- 跟踪jqplot垂直折线图的鼠标位置
- 设置画布渲染器的x和y位置
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- 根据页面的位置突出显示文本中的字符
- 谷歌infoBox位置
- 在标记上方创建一个InfoBox窗口,并将存根放在正确的位置
- 当地图移动时,必应地图InfoBox会在FireFox和Chrome中移动位置