Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 谷歌地图中的markerWithLabel使信息窗口显示在远离markerClick的地方_Google Maps_Marker_Infowindow - Fatal编程技术网

Google maps 谷歌地图中的markerWithLabel使信息窗口显示在远离markerClick的地方

Google maps 谷歌地图中的markerWithLabel使信息窗口显示在远离markerClick的地方,google-maps,marker,infowindow,Google Maps,Marker,Infowindow,我将markerWithLabel.js用于我的自定义标记,当我单击标记时,信息窗口显示在离标记位置稍远的地方 这是我的代码标记代码: var t = this; var m = new MarkerWithLabel({ position: latlng, draggable: true, raiseOnDrag: true, icon: ' ', map: t.map.map, labelC

我将markerWithLabel.js用于我的自定义标记,当我单击标记时,信息窗口显示在离标记位置稍远的地方

这是我的代码标记代码:

 var t = this;

 var m = new MarkerWithLabel({
        position: latlng,
        draggable: true,
        raiseOnDrag: true,
        icon: ' ',
        map: t.map.map,
        labelContent: '<i class="fa fa-circle fa-2x"  style="color:#8dc73f;height:22px;width:22px;"></i><i class="fa fa-arrow-up fa-stack-1x fa-inverse" style="transform: rotateZ(9deg);margin-top: 5px;"></i><i style="position:relative;margin-left:-19px;" class="fa fa-circle-o fa-2x"></i>',
        labelAnchor: new google.maps.Point(30, 0),
        labelClass: "labels", // the CSS class for the label
        labelStyle: { opacity: 0.75 }
    })

这有什么问题吗?即使我为简单的自定义标记做了与我在markerWithLabel js中遇到的问题相同的事情,您实际上没有标记标记的图标

icon: ' ',
因此,当使用以下各项时,API将无法计算正确的
像素偏移量

infowindow.open(map, this);
改为设置信息窗口的位置,并使用的单参数版本

代码片段:

var globalMarker=[];
var映射;
函数初始化(){
var center=newgoogle.maps.LatLng(45.4214,-75.6919);
map=new google.maps.map(document.getElementById('map'){
缩放:10,
中心:中心,,
禁用双击缩放:真,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
var标记=[];
var infowindow=new google.maps.infowindow();
对于(i=0;i<50;i++){
var latLng=new google.maps.latLng(center.lat()+Math.random()-0.5,center.lng()+Math.random()-0.5);
//var latLng=new google.maps.latLng(45.4214,-75.6919)
标记=新标记WithLabel({
位置:latLng,
真的,
是的,
地图:地图,
图标:“”,
标签内容:“”,
labelAnchor:新的google.maps.Point(45,0),
labelClass:“labels”,//标签的CSS类
标签样式:{
不透明度:0.75
}
});
标记器。推(标记器);
makeDiv(i,15,“Marker#”);
google.maps.event.addListener(标记[i],'click',函数(e){
infowindow.setContent('Marker position:'+this.getPosition());
infowindow.setPosition(this.getPosition());
打开(地图);
});
}
变量clusterOptions={
zoomOnClick:错误
}
var markerCluster=新的MarkerClusterer(地图、标记、聚类选项);
globalMarker=markers.slice();
google.maps.event.addListener(markerCluster,'clusterclick',函数(cluster){
var内容=“”;
//将lat/long从集群对象转换为可用的MVCObject
var info=new google.maps.MVCObject;
信息集('position',cluster.center_);
//----
//获取标记
var markers=cluster.getMarkers();
var=”;
//得到所有的头衔
对于(var i=0;i
html,
身体,
#地图{
保证金:0;
填充:0;
身高:100%
}
.标签{
颜色:红色;
背景色:白色;
字体系列:“Lucida Grande”,“Arial”,无衬线;
字体大小:10px;
字体大小:粗体;
文本对齐:居中;
宽度:90px;
边框:2件纯黑;
空白:nowrap;
}


请提供一份说明问题的说明,包括图标图像的副本。请检查这里,我在labelContent中添加了一些文本()和图标。即使单击该文本,infoowindow也会显示在标记位置。我只想当我点击fontawesome图标时,信息窗口才会显示出来。如果我点击文本内容,我不想显示信息窗口。这是一个不同的问题(这个问题中没有图标),请对此进行指导。如果我的回答解决了您原来的问题,请,然后问a。谢谢您,因为您的回答很好,我接受了您的回答jsfiddle.net/jsfiddleauto/zphbt36L/5我在labelContent中添加了一些文本()和图标。即使单击该文本,infoowindow也会显示在标记位置。我只想当我点击fontawesome图标时,信息窗口才会显示出来。如果我点击文本内容,我不想显示信息窗口。我面临的这个问题,是否可以使用markerwithlabel.libarayTank您,我已经完成了,在单击marker first check之后,如果(event.target.localName==='span'){retrun;}
infowindow.open(map, this);
google.maps.event.addListener(markers[i], 'click', function(e) {
  infowindow.setContent('Marker postion: ' + this.getPosition());
  infowindow.setPosition(this.getPosition());
  infowindow.open(map);
});