这是基本代码,我直截了当地说:
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);
});
由于某种原因,阴影没有显示。但是,如果我启用拖放和/或设置标记动画(反弹或掉落),一旦它被抬起,阴影就会显示出来。但是一旦标记放下,阴影就会消失。
我找不到关于此问题或类似问题/答案的任何其他文件。
由于
答案 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
处打开