Google maps 如何裁剪部分<;p:gmap>;?

Google maps 如何裁剪部分<;p:gmap>;?,google-maps,jsf,primefaces,crop,Google Maps,Jsf,Primefaces,Crop,我有一个带有特定标记的。我想裁剪其中的一部分。我不能用,因为它会裁剪图像,而不是谷歌地图。如何捕获Google地图的特定部分 这是我的地图豆: @ManagedBean @ViewScoped public class InfoWindowView implements Serializable { private static final long serialVersionUID = 1L; @EJB GestionAnalyseLocal m; pri

我有一个带有特定标记的
。我想裁剪其中的一部分
。我不能用
,因为它会裁剪图像,而不是谷歌地图。如何捕获Google地图的特定部分

这是我的地图豆:

@ManagedBean
@ViewScoped
public class InfoWindowView implements Serializable {

    private static final long serialVersionUID = 1L;

    @EJB
    GestionAnalyseLocal m;

    private MapModel advancedModel;

    private Marker marker;

    @PostConstruct
    public void init() throws IOException {
        advancedModel = new DefaultMapModel();

        List<Analyse> alys = new ArrayList<Analyse>();
        alys = m.findAll();
        for (int i = 2; i <= alys.size(); i++) {
            Double x = null;
            Double y = null;
            try {
                x = Double.parseDouble(alys.get(i).getLongitude());
                y = Double.parseDouble(alys.get(i).getLatitude());

                LatLng coord1 = new LatLng(y, x);
                if (alys.get(i).getUu_HandoffOk() == 1) {
                    advancedModel.addOverlay(new Marker(coord1, "test", "point.png",
                            "http://maps.gstatic.com/mapfiles/ridefinder-images/mm_20_blue.png  "));
                } else {
                    if (alys.get(i).getUu_OutgoingCallOk() == 1) {
                        advancedModel.addOverlay(new Marker(coord1, "test", "phone",
                                "http://maps.google.com/mapfiles/kml/pal4/icon52.png"));
                    }
                } 
            } catch (Exception e) {
                System.out.println("err");
            }

        }

    }

    public MapModel getAdvancedModel() {
        return advancedModel;
    }

    public void onMarkerSelect(OverlaySelectEvent event) {
        marker = (Marker) event.getOverlay();
    }

    public Marker getMarker() {
        return marker;
    }
}
@ManagedBean
@视域
公共类InfoWindowView实现了可序列化{
私有静态最终长serialVersionUID=1L;
@EJB
手势分析;
私有地图模型高级模型;
专用标记;
@施工后
public void init()引发IOException{
advancedModel=新的DefaultMapModel();
List alys=new ArrayList();
alys=m.findAll();
对于(int i=2;i

裁剪地图意味着您仍然需要所有地图设施,但对于选定区域,您可以执行以下操作(当用户尝试裁剪地图并从原始地图构建中获取坐标时,请使用另一张地图将选定区域设置为新地图并向用户显示)用户仍然可以使用地图设施。

裁剪地图意味着您仍然需要所有地图设施,但对于选定区域,您可以执行以下操作(当用户尝试裁剪地图并从原始地图构建中获取坐标时,请使用另一张地图将选定区域设置为新地图并向用户显示)用户仍然可以使用地图设施。

我个人还没有尝试过,但我读过关于使用群集简化数据可视化或通过将地图上彼此相邻的数据合并为聚合形式来捕获谷歌地图的特定部分的文章。现有的使用方法可以在和中找到方法,可能会添加额外的输入,以满足您所需的输出。因此,post-可能也会有所帮助。感谢您的回复,我会看到它^^我个人没有尝试过这一点,但我读过有关使用群集简化数据可视化或通过整合彼此附近的数据来捕获Google地图的特定部分的内容r以聚合形式出现在地图上。可以在和中找到用于各种方法的现有方法,可能会添加额外的输入,以满足您所需的输出。因此,post-可能也会有所帮助。感谢您的回复我会看到它^^感谢您的回复,但这对我没有帮助,因为我应该裁剪用户看到的内容并希望裁剪(他可以缩放或选择一些标记…)我找到了一个我会尝试它,如果这不起作用,我将使用phantomJS捕捉界面并调整它的大小^^如果完成了,最好不要忘了把答案放在这里,这样可以帮助别人…:)谢谢你的回复,但这对我没有帮助,因为我应该裁剪用户看到的和想要裁剪的内容(他可以缩放或选择一些标记…)我找到了一个答案,我会尝试,如果这不起作用,我将使用phantomJS捕捉界面并调整其大小^
  <ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
    xmlns:jsf="http://xmlns.jcp.org/jsf"
    xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"
    xmlns:p="http://primefaces.org/ui">

<h:head>

      <script src="http://maps.google.com/maps/api/js?sensor=true|false" type="text/javascript" ></script>

 </h:head>
<h:body>
 <h:form >
 <h:commandButton action="#{infoWindowView.init()}" value="Generate" />

 </h:form>
 <h:form>
    <p:growl id="growl" showDetail="true" />

    <h:panelGrid columns="2" columnClasses="left,right" style="width:100%">
        <p:chart type="pie" model="#{chartView.pieModel1}" style="width:400px;height:300px">
            <p:ajax event="itemSelect" listener="#{chartView.itemSelect}" update="growl" />
        </p:chart>



    </h:panelGrid>

</h:form>
<h:form>  
    <p:gmap id="gmap" center="36.8189700,10.1657900" zoom="12" type="HYBRID" model="#{infoWindowView.advancedModel}" style="width:100%;height:400px">

        <p:ajax event="overlaySelect" listener="#{infoWindowView.onMarkerSelect}" />

        <p:gmapInfoWindow id="infoWindow">
            <p:outputPanel style="text-align: center; display: block; margin: auto">

                        <h:graphicImage value="resources/images/orange.png" height="150" />
                    <br />
                    <h:outputText value="#{infoWindowView.marker.title}" />

            </p:outputPanel>
        </p:gmapInfoWindow>
    </p:gmap>

    <!-- Preload for demo -->
    <p:outputPanel style="display:none">

        <p:graphicImage name="images/#{orange.png}" title="orange.png" />
    </p:outputPanel>
</h:form>
</h:body>
  </ui:composition>