更改自定义标记大小Google地图

时间:2016-10-20 17:39:40

标签: javascript google-maps

我设法为图像标记设置了一个自定义图标(图标的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>

1 个答案:

答案 0 :(得分:0)

大小参数以像素为单位。因此,要使示例的标记大小加倍,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)
    };