0

我有以下代码可以构建这样的自定义谷歌地图标记:

            mapa.markers[ind] = new google.maps.Marker({
                                position: mposition,
                                map:mapa.map,
                                title:mapa.json.markers[ind].timestamp,
                                icon: "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld="+ind+"|000000|FFF",
                            });

在这里使用这个解决方案,我试图将此代码集成到上面,但出现语法错误?我究竟做错了什么?

null, /* size is determined at runtime */
null, /* origin is 0,0 */
null, /* anchor is bottom center of the scaled image */
new google.maps.Size(42, 68)

这是显示语法错误的更新代码:

 mapa.markers[ind] = new google.maps.Marker({
                                    position: mposition,
                                    map:mapa.map,
                                    title:mapa.json.markers[ind].timestamp,
                                    icon: "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld="+ind+"|000000|FFF",
                                    null, /* size is determined at runtime */
                                    null, /* origin is 0,0 */
                                    null, /* anchor is bottom center of the scaled image */
                                    new google.maps.Size(42, 68)
                                });
4

1 回答 1

1

你的语法不正确。

一个图标对象应该这样定义:

mapa.markers[ind] = new google.maps.Marker({
         position: mposition,
         map:mapa.map,
         title:mapa.json.markers[ind].timestamp,
         icon: {url:"http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld="+ind+"|000000|FFF",
         scaledSize:new google.maps.Size(42, 68)}
});

(感谢@andrewap 测试它和 jsfiddle)

size不需要该属性(它会在图像加载时自动设置),除非您使用的是精灵,这里不是这种情况。

工作示例:http: //jsfiddle.net/fUEDh/

于 2013-01-30T17:00:06.353 回答