如何从V3中的标记获取图标大小?

时间:2013-06-21 09:40:01

标签: google-maps-api-3 google-maps-markers google-maps-api-2

我想得到标记的图标大小,这里是下面的代码,返回标题和图标名称完全返回。但图标大小没有返回,请帮助如何从标记中获取图标大小。

var marker = new google.maps.Marker({
  position: new google.maps.LatLng(-25.363882,131.044922),
  map: map,
  title: 'Map',
  icon: "travel.png",
  size: new google.maps.Size(20, 16)
});
alert("Title"+marker.getTitle());
alert("Icon"+marker.getIcon()); 
alert("Title"+marker.getIcon().size);
var iconSize = marker.getIcon().size;
var w = iconSize.width;
var h = iconSize.height;
var p1 = projection.fromLatLngToPoint(marker.getPosition());
var p2 = marker.getIcon().anchor;
var sw = new google.maps.Point(p1.x-p2.x-pad,p1.y-p2.y+pad+h);
var ne = new google.maps.Point(p1.x-p2.x+pad+w, p1.y-p2.y-pad);
sw = projection.fromPointToLatLng(sw);
ne = projection.fromPointToLatLng(ne);
iconBounds = new google.maps.LatLngBounds(sw, ne); 

请帮忙!!如何解决这个问题??

1 个答案:

答案 0 :(得分:1)

这是因为你没有将一个Icon传递给标记选项,只是一个URL(API支持但是它只会返回一个字符串)

你应该用大小属性创建一个Icon (否则size属性将保持未定义),这样的东西会起作用:

var myIcon = {
        url: "icon.jpg",
        size: new google.maps.Size(10,10)
    };
var marker_ new google.maps.Marker({position: Latlng, icon: myIcon});