Google maps api 3 向上扩展Google Maps API v3 MarkerIcons

Google maps api 3 向上扩展Google Maps API v3 MarkerIcons,google-maps-api-3,Google Maps Api 3,我正在显示一张包含许多标记的地图,所有标记都基于相同的png,但缩放到不同的大小 基本大小是64 x 64,如果我缩小比例,事情会按预期进行 如果按比例放大,图标将被裁剪。我制作了一个简单的JSFIDLE来说明这个问题——这是代码缩放图标。我的理解是,第一个大小是源图像的实际大小(以像素为单位),接下来的两个位置是原点和锚点,我暂时不关心,最终大小是以像素为单位的缩放大小 var icon_scaled = new google.maps.MarkerImage( img-filenam

我正在显示一张包含许多标记的地图,所有标记都基于相同的png,但缩放到不同的大小

基本大小是64 x 64,如果我缩小比例,事情会按预期进行

如果按比例放大,图标将被裁剪。我制作了一个简单的JSFIDLE来说明这个问题——这是代码缩放图标。我的理解是,第一个大小是源图像的实际大小(以像素为单位),接下来的两个位置是原点和锚点,我暂时不关心,最终大小是以像素为单位的缩放大小

var icon_scaled = new google.maps.MarkerImage(
    img-filename,
    new google.maps.Size(64, 64),
    null,
    null,
    new google.maps.Size(scaled_size, scaled_size)
);
在我找到的示例中,可以省略第一个大小,让浏览器计算它。在Chrome上工作,但在Firefox上失败,并显示以下错误消息:

Error: IndexSizeError: Index or size is negative or 
greater than the allowed amount
在这里拉小提琴:

如何在两种浏览器上都执行此操作而不出现任何错误


顺便说一句:我知道MarkerIcon不受欢迎-我的实验根据文档使用“图标”替换它,并指定“大小”和“缩放大小”导致了同样的问题。

我也有同样的问题,经过一些研究和简单的解决方法,我能够解决这个问题

这就是我所做的

似乎需要同时设置“size”和“scaleSize”属性才能在FF中工作。但是,还有一件事困扰着我。当我将“大小”属性设置为图标的原始大小时,图标会缩放,但会突然裁剪,而不会显示完整的图标-可能是因为大小限制

因此,我将的“size”属性设置为缩放img的最大限制(在我的例子中是64),它就像一个符咒一样工作

                   cObject.setIcon({
                        url: cObjects[y].getIcon().url,
                        scaledSize: new google.maps.Size(icoSize, icoSize-1),
                        size:new google.maps.Size(64, 64)
                    });