Javascript 如何动态设置谷歌地图标记大小
我正试图通过缩放来调整标记的大小,但似乎不起作用。下面是更好地概述的代码:Javascript 如何动态设置谷歌地图标记大小,javascript,google-maps-api-3,google-maps-markers,Javascript,Google Maps Api 3,Google Maps Markers,我正试图通过缩放来调整标记的大小,但似乎不起作用。下面是更好地概述的代码: function Icon(url) { this.url = url; this.scaledSize = new google.maps.Size(30, 30); // scaled size //this.origin = new google.maps.Point(0,0); // origin //this.anchor = new google.maps.Point(0, 0
function Icon(url) {
this.url = url;
this.scaledSize = new google.maps.Size(30, 30); // scaled size
//this.origin = new google.maps.Point(0,0); // origin
//this.anchor = new google.maps.Point(0, 0); // anchor
}
var icon1 = new Icon('img/marker-test.png');
map.addListener('zoom_changed', function() {
if(map.zoom === 18){
//marker.setIcon(test);
console.log('check');
marker.scaledSize = new google.maps.Size(300, 300);
} else {
//marker.setIcon(icon1);
}
});
有人知道怎么解决这个问题吗 尝试使用正确的
getZoom
map方法
if (map.getZoom() === 18) {
...
}
在我回答之前,有几点建议:
- 您使用了无效的
。它应该是map.zoom===18
map.getZoom()==18
无效,因为marker.scaledSize
是scaledSize
对象的属性。参考: 如果需要动态设置标记大小,则需要通过“图标”属性指定标记图像(创建标记时),而不是作为字符串或保留为空(以显示默认标记)Icon
简单地说,这里有一个例子。尝试将“缩放”更改为18及以上,然后再更改为15及以下。谢谢,伙计,我完全忘了指定图标属性!谢谢你提供的更多信息:)你帮了我很多