如何在Google地图中更改GMarker的颜色?

时间:2010-01-26 03:43:39

标签: google-maps

非常简单的请求,但似乎没有办法做到这一点。我只想让我的GMarkers变成绿色而不是红色。

我真的必须制作自己的图标吗?

4 个答案:

答案 0 :(得分:4)

这是最简单的方法:

var greenIcon = new GIcon(G_DEFAULT_ICON);
greenIcon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png";
var markerOptions = { icon:greenIcon };

var marker = new GMarker(point, markerOptions);

该标记图片是Google的图片,但您也可以使用自己的图片。

如果您需要动态生成唯一标记,MapIconMaker非常棒。

答案 1 :(得分:1)

我找到的最好方法是使用以下脚本...

labeledmarker.js

mapiconmaker.js

然后您需要以下代码段:

var iconOptions = {};
iconOptions.width = 32;
iconOptions.height = 32;
iconOptions.primaryColor = "#66CC6600";
iconOptions.cornerColor = "#66CC6600";
iconOptions.strokeColor = "#000000FF";
var iconSeller = MapIconMaker.createMarkerIcon(iconOptions);

function createMarker(icon, point,html,label) 
{
    opts = 
    { 
        "icon": icon,
        "labelText": label,      
        "labelClass": "markerLabel",
        "labelOffset": new GSize(-4, -31)
    };
    var marker = new LabeledMarker(point, opts);
    GEvent.addListener(marker, "click", 
        function() 
        {
            marker.openInfoWindowHtml(html);
        });
    return marker;
}

确保样式表中有一个名为markerLabel的类,以便设置包含标签的div的样式。我从优秀的econym教程站点中捏了大部分代码,其中有许多清晰的示例和代码示例。

答案 2 :(得分:0)

请参阅:Map Overlays > Markers > Icons

  

<强>图标

     

标记可以定义要显示的图标   默认图标的位置。定义一个   由于数字,图标很复杂   构成一个不同的图像   Maps API中的单个图标。在一个   最小,一个图标必须定义   前景图像,类型的大小   GSize,以及偏移到的图标   定位图标。

     

最简单的图标基于   G_DEFAULT_ICON类型。创建一个   基于此类型的图标允许您   快速更改默认图标   只修改一些属性。

看起来这是最简单的情况。您使用G_DEFAULT_ICON作为基础GIcon,然后通过更改该新对象的.image属性来扩展它。 simple example非常简单。

答案 3 :(得分:0)

我需要在地图中添加gmarker并从Web服务中获取数据的项目