渲染PrimeFaces gMap的最佳方法是自动缩放以显示所有标记,并准确显示位置?

时间:2011-03-08 13:08:52

标签: javascript google-maps jsf primefaces

我有几个gMap相关的问题,我没有从用户指南中找到,我希望有人可以帮助我..

1)我需要在gMap上显示一个标记,其位置精度为圆形(例如,如果使用GPS信号进行跟踪,精度约为50-60米,但是,如果使用网络单元进行跟踪,则半径约为600-800米),最好的方法是什么?

2)自动缩放的最佳方法是什么,并使地图居中,以便能够显示我在地图模型中设置的所有标记。

谢谢! 干杯 詹姆斯

1 个答案:

答案 0 :(得分:2)

我刚刚找到了如何使用primefaces显示圆圈精度的解决方案,这里是代码

 <p:gmap id="mygmap" 
         center="#{trackingBean.mapVO.centerLocation}"
         zoom="#{trackingBean.mapVO.zoomLevel}" type="ROADMAP"
         style="width:500px;height:400px"
         widgetVar="tmap"
         model="#{trackingBean.mapVO.mapModel}">
  </p:gmap>
  <script type="text/javascript">
      var gmap = tmap.getMap();
      var centerLatLng = new google.maps.LatLng(#{trackingBean.currentLocStr});
      var circle = new google.maps.Circle({
                              center: centerLatLng,
                              fillColor: '#00f',
                              fillOpacity: 0.1,
                              strokeColor: '#00f',
                              strokeOpacity: 0.3,
                              strokeWeight: 1
                           });
                   circle.setRadius(#{trackingBean.radious}); 
                   circle.setMap(gmap);
  </script>