2012-03-02 82 views
0

这里是基本的代码,我把它剪直出:谷歌地图API V3 - 标记阴影消失

 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); 
     }); 

出于某种原因,阴影不显示。但是,如果我启用拖放和/或设置标记动画(反弹或放下),阴影就会显现出来。一旦标记放下,阴影消失。

我找不到任何其他文档或类似的问题/答案。

谢谢

回答

-1

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

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

+0

不知道为什么这是投下来的,这是在发布时的实际错误... https://code.google.com/p/gmaps-api-issues/issues/detail?id=3993 – 2015-06-16 02:40:41

0

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

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

从你的代码;

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

与标记和阴影相同的图像marker2.png可能不会像您期望的那样工作。

+0

打开这并不是说,语法是正确的。事实上,我确定这个问题只出现在Google Chrome/Safari中。这是一个渲染问题。这个案子是用Google打开的。 – 2012-03-05 05:35:51

+0

将您的网站上的问题链接到开头可能会有所帮助。 另外我看不到你在哪里设置“var marker”。 Google设置的http://code.google.com/apis/maps/documentation/javascript/examples/icon-complex.html适用于所有浏览器的示例,您需要更好地了解您的码。 – 2012-03-05 08:15:11

+0

var标记在618行声明;它在函数init()之前首先被执行。 – 2012-03-06 00:38:20