【问题标题】:Change Custom Marker Size Google Maps更改自定义标记大小谷歌地图
【发布时间】:2017-03-02 20:15:02
【问题描述】:

我设法为图像标记设置了一个自定义图标(图标的 URL 在代码中),但我不知道如何自定义它的大小。我在网上四处寻找帮助,但由于我的编码知识非常有限,无法添加使其工作所需的代码。有人可以将完整的完成代码发送给我,其中包含自定义市场图标宽度/高度所需的修改吗?

谢谢!

<script src='https://maps.googleapis.com/maps/api/js?v=3.exp&key=AIzaSyDL51DzuRotMkfR09g540u2dZHlKPMpR54'></script>
<div style='overflow:hidden;height:450px;width:100%;'>
<div id='gmap_canvas' style='height:450px;width:100%;'></div>
<style>
#gmap_canvas img {
  max-width:none!important;
  background:none!important
}
</style>
</div>
<script type='text/javascript'>
function init_map(){
  var myOptions = {
    scrollwheel: false, 
    draggable: false, 
    zoom:16,
    center:new google.maps.LatLng(25.841211,-80.308539),
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  map = new google.maps.Map(document.getElementById('gmap_canvas'), myOptions);
  marker = new google.maps.Marker({
    map: map,
    position: new google.maps.LatLng(25.841211,-80.308539),
    icon: 'http://www.ssglobalsupply.com/images/location-contact.png'
  });
  infowindow = new google.maps.InfoWindow({
    content:'6891 NW 74th St Medley, FL 33166<br>'
  });
  google.maps.event.addListener(marker, 'click', function(){
    infowindow.open(map,marker);
  });
  infowindow.open(map,marker);
}
google.maps.event.addDomListener(window, 'load', init_map);
google.maps.event.addDomListener(window, "resize", function() {
  var center = map.getCenter();
  google.maps.event.trigger(map, "resize");
  map.setCenter(center); 
});
</script>

【问题讨论】:

标签: javascript google-maps


【解决方案1】:

大小参数以像素为单位。因此,要将示例的标记大小加倍,MarkerImage 构造函数的第五个参数将是:

    new google.maps.Size(42,68)

查看steampowered's answer 的链接以获取更多详细信息


这是您的图标标记大小为 50px x 50px 的JSFIDDLE

      var image = {
      url: 'http://www.ssglobalsupply.com/images/location-contact.png',
      // This marker is 50 pixels wide by 50 pixels high.
      size: new google.maps.Size(50, 50),
      // The origin for this image is (0, 0).
      origin: new google.maps.Point(0, 0),
      // The anchor for this image is the base of the flagpole at (0, 32).
      anchor: new google.maps.Point(0, 32)
    };

【讨论】:

  • 当我在脚本中添加这行代码时,地图不再显示了。我可能添加错了。你能把这个sn-p代码加在正确位置的完整代码发给我吗?谢谢
  • 你有 &callback=init_map 进入脚本函数吗?
  • 感谢您的回复。不过,您发送的小提琴与我的问题无关。我只是希望能够在我的代码中修改尺寸自定义标记图标。你能把我发布的代码和修改图标大小所需的额外代码发给我吗?那将是完美的
  • 您需要做的就是制作一个 var img 作为我的编辑答案,并具有大小:new google.maps.Size(50, 50)。然后你指向你的标记,它是 icon: image
  • 非常感谢您的帮助,但我无法在我的代码中实现这一点。我的编程知识很少。你能不能对我上面发布的代码和修改做个修改?我会投票给你的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-18
  • 1970-01-01
  • 2013-08-21
  • 1970-01-01
  • 2013-08-18
相关资源
最近更新 更多