标记阴影未在gmap,primefaces中显示

时间:2014-12-18 09:32:48

标签: google-maps primefaces shadow markers

我不知道我是否还要做其他事情,但我设置了标记的阴影,但这些没有显示在地图上

这是我的XHTML

        <script src="http://maps.google.com/maps/api/js?sensor=true|false"
        type="text/javascript"></script>
        <script>
//<![CDATA[
function handleComplete(xhr, status, args){
var gmap = PF('gMapWV').getMap();
for(var i in gmap.markers)
{
  var newMarker = eval("args.marker"+i);
  var newPosition = eval("args.position"+i);
  var oldMarker = gmap.markers[i];
  oldMarker.setPosition(newPosition);
  oldMarker.icon=newMarker.icon;
  oldMarker.setShadow("https://maps.gstatic.com/mapfiles/ms2/micons/msmarker.shadow.png");
  oldMarker.setMap(gmap);
}   
}
// ]]>
</script>
</ui:define>
....
                <p:poll interval="#{manageLoadExecution.refreshInterval}" listener="#{manageLoadExecution.ajaxPoll}" oncomplete="handleComplete(xhr, status, args)" />
            <p:gmap widgetVar="gMapWV" id="gMapWV" center="#{manageLoadExecution.latitude} , #{manageLoadExecution.longitude}"  zoom="#{manageLoadExecution.zoomLevel}" fitBounds="false" type="terrain"  style="width:900px;height:400px" model="#{manageLoadExecution.mapLoadModel}" disableDefaultUI="false" >
                <p:ajax event="overlaySelect" listener="#{manageLoadExecution.onMarkerSelect}" />

                <p:gmapInfoWindow id="infoWindow" maxWidth="300">
                    <p:outputPanel  style="text-align: left; display: block; margin: auto; height:270px; width:320px" rendered="#{! empty manageLoadExecution.selectedLoad}">

这是我的托管Bean

 if(load.getColBuId() != null){
         Marker colMarker = new Marker(new LatLng(load.getColBuId().getLatitude(),load.getColBuId().getLongitude()),load.getColBuId().getRef());
         colMarker.setIcon(Constants.POI_COL_SITE);
         colMarker.setShadow(Constants.POI_SHADOW);
         markColList.add(colMarker);
      }
      if(load.getDelBuId() != null){
         Marker delMarker = new Marker(new LatLng(load.getDelBuId().getLatitude(),load.getDelBuId().getLongitude()),load.getDelBuId().getRef());
         delMarker.setIcon(Constants.POI_WELL_SITE);
         delMarker.setShadow(Constants.POI_SHADOW);
         markDelList.add(delMarker);
      }
      if(load.getLoadStatus().getLastLatitude() != null && load.getLoadStatus().getLastLongitude()!=null){
         String alert = Constants.POI_LOAD_OK;
         if(load.getMaxAlert()!= null && load.getMaxAlert()=='H'){
            alert=Constants.POI_LOAD_ALERT;
         }
         //Marker loadMarker = new Marker(new LatLng(load.getLoadStatus().getLastLatitude(),load.getLoadStatus().getLastLongitude()),load.getRef(),alert,alert);
         Marker loadMarker = new Marker(new LatLng(load.getLoadStatus().getLastLatitude(),load.getLoadStatus().getLastLongitude()),load.getRef());
         loadMarker.setIcon(alert);
         loadMarker.setShadow(Constants.POI_SHADOW);
         markLoadList.add(loadMarker);
      }

图标显示正确,但不显示阴影。 我错过了任何一步吗?我忘了设置任何财产吗? 图像的路径是可以的,事实上我正在使用:

  

https://maps.gstatic.com/mapfiles/ms2/micons/msmarker.shadow.png

作为阴影图像

非常感谢您提前

1 个答案:

答案 0 :(得分:1)

标记阴影已在Google Maps Javascript API 3.14版中删除。以编程方式指定的任何阴影都将被忽略。

来自Google官方文档: https://developers.google.com/maps/documentation/javascript/markers#complex_icons