带标签的gmap标记

时间:2014-08-26 07:33:13

标签: javascript google-maps-api-3

我有一张谷歌地图,直到几天前一直运作良好。

我的问题是,现在,所有标签标记都出现在正确的位置,但只显示最后一个图像。

我在生成的html代码中看到所有图像都在这里,但它们都具有相同的位置(这就是为什么我只能看到最后一个)。

这里我使用gmap版本3.3

实际上它之前正在工作,我敢肯定!也许谷歌改变了一些东西(我打电话给src =“http://maps.google.com/maps/api/js?sensor=false&v=3.3)。

因为当我用标签去除标记并使用没有标签的简单标记时,可以看到所有标记。功能

addMarker(location,vehno,vehid,drvId,drvName,phoneNo,content,gId,a,marker_img){    
  var pinIcon = new google.maps.MarkerImage(
      marker_img,
      null,
      null, 
      null, 
      new google.maps.Size(32, 32)
  );   

  //if(cursel==-1)
    var labelcontent = "<b>"+vehno+"/"+vehid+"</b>";       
  var mflag = 0;  

  var marker = new MarkerWithLabel({
       position: location,
       icon:pinIcon,               
       map: map,                                              
       title:vehno, 
       labelContent: labelcontent,
       labelAnchor: new google.maps.Point(50, 0),
       labelClass: "labels", 
       labelPosition:location,
  });    

2 个答案:

答案 0 :(得分:0)

似乎MarkerImage在map API的3.10版中已弃用。新方法是使用具有相同参数的普通对象文字。

var image = {
  url: place.icon,
  size: new google.maps.Size(71, 71),
  origin: new google.maps.Point(0, 0),
  anchor: new google.maps.Point(17, 34),
  scaledSize: new google.maps.Size(25, 25)
};

关于您的问题,我怀疑您不应该通过null传递您不需要的参数。

var pinIcon = {
  url: marker_img,
  scaledSize: new google.maps.Size(32, 32)
};

这个shoud使用anchororigin的默认值。

答案 1 :(得分:-1)