【问题标题】:gmap marker with label [duplicate]带有标签的gmap标记[重复]
【发布时间】:2014-08-26 07:33:13
【问题描述】:

我有一个谷歌地图,直到几天前它还运行良好。

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

我在生成的 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,
  });    

【问题讨论】:

标签: javascript google-maps-api-3


【解决方案1】:

似乎 MarkerImage 在地图 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)
};

这应该使用anchororigin 的默认值。

【讨论】:

  • 谢谢hennes的帮助...但问题仍然存在。我认为问题不在于标记图像,因为当我将cmets添加到markeroption的图标参数时,默认gmap也会出现同样的问题红色标记图标
  • 澄清一下,即使您没有指定icon 参数,所有标签都出现在正确的位置,但所有标记图标都出现在同一个位置?
  • 亲爱的 hennes 似乎所有标记都出现在地图上,但它们都占据相同的位置,即最后一个标记的位置..
  • 是的,你是对的。标签位于正确的位置,但标记图标出现在最后一个标记的单个位置值上
  • @vijay 我假设您已经验证 location 参数的值对于所有标记都不同?您能否在addMarker 的开头添加console.log(location) 并检查输出?
【解决方案2】:
猜你喜欢
  • 1970-01-01
  • 2015-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-18
  • 2016-02-02
  • 1970-01-01
相关资源
最近更新 更多