2012-03-02 2 views
0

Вот основной код, я вырезал его прямо:Google Maps API v3 - Marker тень исчезает

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

По какой-то причине, тень не показывает. Однако, если я включаю перетаскивание и/или настройку анимации маркера (либо отскок, либо падение), тень появляется после ее поднятия. Но как только маркер ложится, тень исчезает.

Я не могу найти другую документацию по этим или подобным вопросам/ответам.

Thanks

ответ

-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 –

0

Теневое изображение должно отличаться от изображения маркера.

Например, тень маркера для карт Google выглядит следующим образом; 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. –

+0

Возможно, было полезно связать проблему на вашем веб-сайте для начала. Также я не вижу, где вы устанавливаете «маркер var». Пример, который Google установил http://code.google.com/apis/maps/documentation/javascript/examples/icon-complex.html, отлично подходит для меня во всех браузерах, вам нужно лучше взглянуть на свой код. –

+0

маркер var объявлен по строке 618; который выполняется перед функцией init(). –