谷歌地图错误:未捕获InvalidValueError:setIcon:不是字符串;没有网址属性;并没有路径属性

时间:2014-09-09 17:35:44

标签: javascript jquery google-maps

我刚刚开始为Google地图收到此错误:

Uncaught InvalidValueError:setIcon:不是字符串;没有网址属性;并且没有路径属性

我几个月没有改变任何代码。

此页面上发生错误: http://gusmodern.com/pages/store-locator

以前有人遇到过这个吗?

4 个答案:

答案 0 :(得分:3)

我更新了特定版本参考https://maps.googleapis.com/maps/api/js?v=3&sensor=true,错误消失了。我在我的多个地理位置网站和移动应用程序中都有这个。

答案 1 :(得分:1)

我最近在一些代码中遇到了同样的错误。感谢过去的另一个问题,我意识到当我设置标记时,我需要确保我为锚点和缩放大小引入的变量是浮点数而不是以字符串形式出现。这必须是最近更新的新要求。

在我自己的代码中,我改变了

currentIcon = {
            url: 'http://www.example.com/img/avatars/'+name+'.png',
            origin: new google.maps.Point(0, 0),
            anchor: new google.maps.Point(aw,ah),
            scaledSize: new google.maps.Size(w,h)
        };

currentIcon = {
            url: 'http://www.example.com/img/avatars/'+name+'.png',
            origin: new google.maps.Point(0, 0),
            anchor: new google.maps.Point(parseFloat(aw),parseFloat(ah)),
            scaledSize: new google.maps.Size(parseFloat(w),parseFloat(h))
        };

它现在对我来说很好。

答案 2 :(得分:0)

两天后我也遇到了这个问题。在我的例子中,我使用null参数在地图上设置MarkerImage。这意味着我在地图上隐藏了标记。

之前有效:

markers = new google.maps.Marker({
                map: map,
                position: results[0].geometry.location,
                icon: new google.maps.MarkerImage(null)
            });

现在这似乎是解决方案:

markers = new google.maps.Marker({
                map: map,
                position: results[0].geometry.location
            });
            markers.setVisible(false);

希望这会有所帮助。祝你好运!

答案 3 :(得分:0)

我遇到了与图标相同的问题,作为MarkerWithLabel {}的属性。

解决方案:

var nullIcon = { url: '', size: new google.maps.Size(0, 0), origin: new google.maps.Point(0, 0), anchor: new google.maps.Point(0, 0) };