【问题标题】:How change icon Marker Gmap Primefaces?如何更改图标 Marker Gmap Primefaces?
【发布时间】:2015-01-26 09:00:54
【问题描述】:

大家好,我从 Gmap Primefaces 组件开始,想知道如何更改图标。 我依赖于 Primefaces 的展示:

this.advancedModel.addOverlay(new Marker(coord1, "Konyaalti", "konyaalti.png", "http://maps.google.com/mapfiles/ms/micons/blue-dot.png"));
this.advancedModel.addOverlay(new Marker(coord2, "Ataturk Parki", "ataturkparki.png"));
this.advancedModel.addOverlay(new Marker(coord4, "Kaleici", "kaleici.png", "http://maps.google.com/mapfiles/ms/micons/pink-dot.png"));
this.advancedModel.addOverlay(new Marker(coord3, "Karaalioglu Parki", "karaalioglu.png", "http://maps.google.com/mapfiles/ms/micons/yellow-dot.png"));  

我已将图标下载到我的项目中,并已路由,但无法正常工作,标记图标是示例。

StringBuilder ruta = new StringBuilder();
ruta.append(getContext().getRealPath(Constantes.DIVISOR));
ruta.append("resources/maps/images/");

StringBuilder bluedot = new StringBuilder(); 
bluedot.append(ruta);
bluedot.append("blue-dot");
bluedot.append(Constantes.EXTENSION_FORMATO_PNG);

StringBuilder pinkdot = new StringBuilder(); 
pinkdot.append(ruta);
pinkdot.append("pink-dot");
pinkdot.append(Constantes.EXTENSION_FORMATO_PNG);

StringBuilder yellowdot = new StringBuilder(); 
yellowdot.append(ruta);
yellowdot.append("yellow-dot");
yellowdot.append(Constantes.EXTENSION_FORMATO_PNG);

System.out.println("---> "+bluedot.toString());

//Icons and Data
this.advancedModel.addOverlay(new Marker(coord1, "Konyaalti", "konyaalti.png", bluedot.toString()));
this.advancedModel.addOverlay(new Marker(coord2, "Ataturk Parki", "ataturkparki.png"));
this.advancedModel.addOverlay(new Marker(coord4, "Kaleici", "kaleici.png", pinkdot.toString()));
this.advancedModel.addOverlay(new Marker(coord3, "Karaalioglu Parki", "karaalioglu.png", yellowdot.toString()));

好了图片文件路径,但是还是不考虑Marker PrimeFaces,应该是哪个???

Console:

D:\springsource\apache tomcat 7.0.53\webapps\geotermica\resources\maps\images\blue-dot.png

【问题讨论】:

    标签: google-maps-api-3 jsf-2 primefaces


    【解决方案1】:

    如果要指向文件系统上的文件,应使用file:// 方案。见:How to specify a local file within html using the file: scheme?

    如果您想创建一个相对 URL 来从您的网络服务器获取图像,您应该使用 context path 而不是真实路径:

    StringBuilder ruta = new StringBuilder();
    ruta.append(FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath());
    ruta.append("/resources/maps/images/");
    

    【讨论】:

    • 我无法让它工作。似乎只适用于 Google URL。
    • 如果您将生成的 URL 粘贴到浏览器中并加载图像,这应该可以工作。你应该得到类似http://localhost:8080/yourapp/resources/maps/images/yourimage.png
    • 我刚刚用这个简单的字符串解决了:markerType.add("./resources/red-dot.png");
    • 检查你是否使用了正确的构造函数和参数:Marker(LatLng latlng, String title, Object data, String icon).
    • 这对我来说非常有效。我用它来联系同一个应用程序中的反向代理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-21
    • 2016-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多