Google Maps API v3 - 标记阴影消失

时间:2012-03-02 20:06:58

标签: google-maps-api-3

这是基本代码,我直截了当地说:

      var loadposition = new google.maps.LatLng(<?=$feed['location'][0]?>,<?=$feed['location'][1]?>);
      var markerSize = new google.maps.Size(20,34);
      var houseMarker = new google.maps.MarkerImage("marker2.png",markerSize);

      var markerShadowSize = new google.maps.Size(30,34);
      var markerShadowPoint = new google.maps.Point(30,0);
      var markerShadowAnchor = new google.maps.Point(0,35);
      var houseMarkerShadow = new google.maps.MarkerImage("marker2.png",markerShadowSize,markerShadowPoint,markerShadowAnchor);

        marker = new google.maps.Marker({
            position:loadposition,
            title:"<?=$feed['name']?>",
            draggable:false,
            clickable:true,
            icon:houseMarker,
            shadow:houseMarkerShadow
        });

        marker.setMap(map);

        google.maps.event.addListener(marker, 'click', function(e){
            var loadposition = new google.maps.LatLng(<?=$feed['location'][0]?>,<?=$feed['location'][1]?>);
            var htmlContent = "<?=$feed['name']?><br/><?=$feed['address']?>";

            infowindow.setPosition( loadposition );
            infowindow.setContent(htmlContent);
            infowindow.open(map);
        });

由于某种原因,阴影没有显示。但是,如果我启用拖放和/或设置标记动画(反弹或掉落),一旦它被抬起,阴影就会显示出来。但是一旦标记放下,阴影就会消失。

我找不到关于此问题或类似问题/答案的任何其他文件。

由于

2 个答案:

答案 0 :(得分:0)

阴影图像需要与标记图像不同。

例如,谷歌地图的标记阴影是这样的; http://maps.gstatic.com/mapfiles/shadow50.png

来自您的代码;

var houseMarkerShadow = new google.maps.MarkerImage("marker2.png",markerShadowSize,markerShadowPoint,markerShadowAnchor);

使用与标记和阴影相同的image marker2.png可能无法正常工作。

答案 1 :(得分:-1)

事实证明语法是正确的。这实际上是Google Chrome和Safari的一个错误。 Internet Explorer和Firefox都能正确渲染阴影。

该错误在http://code.google.com/p/gmaps-api-issues/issues/detail?id=3993

处打开