使用Maps API XML示例调整地图标记的大小

时间:2018-10-19 10:20:12

标签: javascript google-maps google-maps-api-3

我已使用Google Maps PHP/XML示例来构建地图,并且希望包含自定义标记。当前,标记状态会更改标记图标并分配标签,如下所示。但是,我想使用高分辨率标记,因此需要调整图标的大小。

我知道我需要使用new google.maps.Size(X,X);,但是我不知道如何将其构建到customLabel变量中,因为我看到的示例使用了不同的方法来显示图标。

向正确方向轻推会有所帮助。

var customLabel = {
        completed: {
          label: 'C',
          icon: './assets/map/images/icon_green.png' 
        },
        failed: {
          label: 'F'
          icon: './assets/map/images/icon_red.png'
        }

      };
var status = markerElem.getAttribute('status');
              var icon = customLabel[status] || {};
              var marker = new google.maps.Marker({
                map: map,
                position: point,
                label: icon.label,
                icon: icon.icon,
                animation: google.maps.Animation.DROP
              });

1 个答案:

答案 0 :(得分:1)

看看MarkerOptions接口的文档:

https://developers.google.com/maps/documentation/javascript/reference/marker#MarkerOptions

您将看到icon属性可以是String,Icon或Symbol接口。当前,您正在将icon属性设置为String值。为了定义大小,您应该将Icon对象分配给icon属性。图标界面记录在

https://developers.google.com/maps/documentation/javascript/reference/marker#Icon

因此,您应该使用类似

var marker = new google.maps.Marker({
    map: map,
    position: point,
    label: icon.label,
    icon:  {
        url: icon.icon,
        size: new google.maps.Size(X,X)
    },
    animation: google.maps.Animation.DROP
});

我希望这会有所帮助!