Google Maps API v3 - 未定义GIcon

时间:2012-06-04 15:42:19

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

我知道他们是从v2到v3的一些问题我在这里可以做些什么来解决它? v3不支持GIcon?

// Google-Map icon object
var gMapIcon = new GIcon(G_DEFAULT_ICON); //change to new google.maps.MarkerImage();???
// does icon exist
if ( mapElements[lMapElementIndex]['icon'].toString().length > 0) {
    gMapIcon.image = html_entity_decode(mapElements[lMapElementIndex]['icon']);
    gMapIcon.shadow = "";
    iconHeight = mapElements[lMapElementIndex]['iconheight'];
    iconWidth = mapElements[lMapElementIndex]['iconwidth'];
    gMapIcon.iconSize = new GSize(iconWidth,iconHeight);
    gMapIcon.iconAnchor = new GPoint(0,0);
    gMapIcon.infoWindowAnchor = new GPoint(15,10);
}
    var markerOptions = { 
        icon: gMapIcon //change to image? 
     };
    var marker = new google.maps.Marker(point,markerOptions);

从这里找到https://developers.google.com/maps/documentation/javascript/overlays?hl=de-DE#SimpleIcons

感谢您的帮助或提示!

1 个答案:

答案 0 :(得分:15)

版本3不支持

GIcon,并且不会出现在您链接到的文档中。

  var image = 'beachflag.png';
  var myLatLng = new google.maps.LatLng(-33.890542, 151.274856);
  var beachMarker = new google.maps.Marker({
      position: myLatLng,
      map: map,
      icon: image
  });

您可以指定要直接使用的图像,不需要需要像第2版GIcon这样的辅助对象。但是,如果您需要非标准尺寸等,则需要使用https://developers.google.com/maps/documentation/javascript/overlays?hl=de-DE#ComplexIcons

文档中所述的MarkerImage对象

(版本2的GIcon与版本3中的可选MarkerImage等效)