如何在谷歌地图api 3中更改标记的颜色

时间:2011-03-18 09:45:49

标签: css google-maps

我正在寻找一种解决方案来改变API V3中谷歌地图中制造商的颜色。我想在鼠标悬停时更改制作者的颜色。如果有人得到解决方案请发布,我会非常感激。提前谢谢

1 个答案:

答案 0 :(得分:0)

您必须自定义标记属性并为此使用自定义标记和阴影图像。但这是在Map API 2中提前抱歉的。

var normal_icon = new GIcon();
normal_icon.image = "images/google_marker_green.png";
normal_icon.shadow = "images/shadow-google_marker_green.png";
normal_icon.iconSize = new GSize(20.0, 34.0);
normal_icon.shadowSize = new GSize(38.0, 34.0);
normal_icon.iconAnchor = new GPoint(10.0, 17.0);
normal_icon.infoWindowAnchor = new GPoint(10.0, 17.0);

var hover_icon = new GIcon();
hover_icon.image = "images/google_marker_blue.png";
hover_icon.shadow = "images/shadow-google_marker_blue.png";
hover_icon.iconSize = new GSize(20.0, 34.0);
hover_icon.shadowSize = new GSize(38.0, 34.0);
hover_icon.iconAnchor = new GPoint(10.0, 17.0);
hover_icon.infoWindowAnchor = new GPoint(10.0, 17.0);

var lat="Your lat. point";
var long="Your long. point";

map = new google.maps.Map2(document.getElementById("map"));
map.setCenter(new google.maps.LatLng(lat, long), 15);
map.setUIToDefault();
var point = new GLatLng(lat,long);
var marker = new GMarker(point,normal_icon);
var message="Custom message";
GEvent.addListener(marker, "click", function() {
  map.openInfoWindowHtml(point, message);
});
map.addOverlay(marker);

function bindInfoWindow(marker, map, infoWindow, html) {
      google.maps.event.addListener(marker, 'mouseover', function() {
        marker.setIcon(hover_icon);
      });
      google.maps.event.addListener(marker, 'mouseout', function() {
        marker.setIcon(normal_icon);
      });
    }

您可以从http://smmtn.com/sandbox/gmaps-marker-hover/

中找到确切的示例

谢谢和问候

Haresh