This repository was archived by the owner on Nov 28, 2022. It is now read-only.

Latest commit

History

80 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Overview

JSF2Leaf is a JavaServer Faces component that allows a simpler way to insert maps in your webpage using just a tag, like any other JSF component. This is possible because JSF2Leaf wraps the Leaflet map library, using OpenStreetMap as map provider.

Features

  • Simple, just a single tag and you have a map!
  • Support Markers, Layers, Polylines, Circles and Clusterization
  • Easy, no need to know Leaflet, javascript or any other map API !
  • Small ~ 63 kb

Article

http://www.l3oc.com/2015/06/jsf2leaf.html

Usage

Just copy jsf2leaf.jar to:

<project_dir>\WebContent\WEB-INF\lib

Then in your .xhtml file insert the library namespace:

xmlns:leaf="http://java.sun.com/jsf/composite/jsf2leaf"

Now you have access to the <leaf:map /> and <leaf:mapAdvanced /> tags !

Simple Map

For a simple map, <leaf:map /> should be used, because all parameters can be set in the tag and a Bean is not really necessary, however, there are some limitations, you can add only a single marker and no layers. Look:

Simplest way to insert a map:

<leaf:mapcenter="42.120000,-72.540000" />

Specifying all possible parameters:

<leaf:mapcenter="42.120000,-72.540000" marker="42.120000,-72.540000"
popupMsg="Krusty Burger&lt;br&gt; Phone: 555-5555" zoomGlobal="false" zoom="12"
width="300px" height="200px" maxZoom="19" minZoom="1" dragging="false"
zoomControl="false"
miniMap="true"
miniMapWidth="100"
miniMapHeight="66"
miniMapPosition="bottomleft"
urlTemplate="http://tile.stamen.com/toner/{z}/{x}/{y}.png"
attribution="JSF2Leaf" />

The parameters list can be found HERE.

Advanced Map

Advanced map should be used if you want advanced features like multiple markers, layers, polylines etc, as well as build the map from Java Bean. The tag <leaf:mapAdvanced /> have just the map parameter, that receives the Map object built in the Bean. JSF2Leaf supply all the classes needed to build the Map object, they will be available after the lib installation and import in the Bean. Look:

test.xhtml:

<leaf:mapAdvancedmap="#{testBean.springfieldMap}" />

testBean.java:

importcom.jsf2leaf.model.Circle;
importcom.jsf2leaf.model.LatLong;
importcom.jsf2leaf.model.Layer;
importcom.jsf2leaf.model.Map;
importcom.jsf2leaf.model.Marker;
importcom.jsf2leaf.model.Polyline;
...
privateMapspringfieldMap = newMap();
...
LayerplacesLayer = (newLayer()).setLabel("Places");
placesLayer.addMarker(newMarker(newLatLong("42.120000","-72.540000"),"<b>Krusty Burger</b><br>Phone: 555-5555"));
placesLayer.addMarker(newMarker(newLatLong("42.114556","-72.526309"),"<b>Elementary School</b><br>Skinner&#39;s Phone: 555-5555"));
placesLayer.addMarker(newMarker(newLatLong("42.120286","-72.547488"),"<b>Hospital</b><br>Dr. Hibbert lol"));
LayerriversLayer = (newLayer()).setLabel("Rivers");
riversLayer.addMarker(newMarker(newLatLong("42.104702","-72.530923"))).addMarker(newMarker(newLatLong("42.111707","-72.541008")));
LayerpolycircleLayer = (newLayer()).setLabel("Polyline/Circle");
polycircleLayer.addPolyline((newPolyline()).addPoint(newLatLong("42.114556","-72.526309")).addPoint(newLatLong("42.120000","-72.540000")));
polycircleLayer.addCircle((newCircle()).setPosition(newLatLong("42.111707","-72.541008")));
springfieldMap.setWidth("350px").setHeight("250px").setCenter(newLatLong("42.111707","-72.541008")).setZoom(13);
springfieldMap.addLayer(placesLayer).addLayer(riversLayer).addLayer(polycircleLayer);
...

All classes support concatenation of methods and have a toString() method for debug purposes. Details can be found HERE.

New version (february 2016) :

You can display a minimap by adding the following lines in testBean.java :

springfieldMap.setMiniMap(true);
springfieldMap.setMiniMapWidth(100);
springfieldMap.setMiniMapHeight(66);
springfieldMap.setMiniMapPosition("bottomright");

You can work offline or choose your tile server by adding the following lines in testBean.java :

springfieldMap.setUrlTemplate("http://tile.stamen.com/toner/{z}/{x}/{y}.png");

You can add a pulse animation to yours markers by adding the following lines in testBean.java :

placesLayer.addMarker(newMarker(newLatLong("47.084461"," 2.400046"),"The center of France", newPulse(true, 10, "#ff0000")));

License

GPLv2 License, details HERE.

About

A JSF Leaflet wrapper component for OpenStreetMap (OSM)

Resources

Stars

23 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Nov 28, 2022. It is now read-only.

Latest commit

History

80 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Overview

JSF2Leaf is a JavaServer Faces component that allows a simpler way to insert maps in your webpage using just a tag, like any other JSF component. This is possible because JSF2Leaf wraps the Leaflet map library, using OpenStreetMap as map provider.

Features

  • Simple, just a single tag and you have a map!
  • Support Markers, Layers, Polylines, Circles and Clusterization
  • Easy, no need to know Leaflet, javascript or any other map API !
  • Small ~ 63 kb

Article

http://www.l3oc.com/2015/06/jsf2leaf.html

Usage

Just copy jsf2leaf.jar to:

<project_dir>\WebContent\WEB-INF\lib

Then in your .xhtml file insert the library namespace:

xmlns:leaf="http://java.sun.com/jsf/composite/jsf2leaf"

Now you have access to the <leaf:map /> and <leaf:mapAdvanced /> tags !

Simple Map

For a simple map, <leaf:map /> should be used, because all parameters can be set in the tag and a Bean is not really necessary, however, there are some limitations, you can add only a single marker and no layers. Look:

Simplest way to insert a map:

<leaf:mapcenter="42.120000,-72.540000" />

Specifying all possible parameters:

<leaf:mapcenter="42.120000,-72.540000" marker="42.120000,-72.540000"
popupMsg="Krusty Burger&lt;br&gt; Phone: 555-5555" zoomGlobal="false" zoom="12"
width="300px" height="200px" maxZoom="19" minZoom="1" dragging="false"
zoomControl="false"
miniMap="true"
miniMapWidth="100"
miniMapHeight="66"
miniMapPosition="bottomleft"
urlTemplate="http://tile.stamen.com/toner/{z}/{x}/{y}.png"
attribution="JSF2Leaf" />

The parameters list can be found HERE.

Advanced Map

Advanced map should be used if you want advanced features like multiple markers, layers, polylines etc, as well as build the map from Java Bean. The tag <leaf:mapAdvanced /> have just the map parameter, that receives the Map object built in the Bean. JSF2Leaf supply all the classes needed to build the Map object, they will be available after the lib installation and import in the Bean. Look:

test.xhtml:

<leaf:mapAdvancedmap="#{testBean.springfieldMap}" />

testBean.java:

importcom.jsf2leaf.model.Circle;
importcom.jsf2leaf.model.LatLong;
importcom.jsf2leaf.model.Layer;
importcom.jsf2leaf.model.Map;
importcom.jsf2leaf.model.Marker;
importcom.jsf2leaf.model.Polyline;
...
privateMapspringfieldMap = newMap();
...
LayerplacesLayer = (newLayer()).setLabel("Places");
placesLayer.addMarker(newMarker(newLatLong("42.120000","-72.540000"),"<b>Krusty Burger</b><br>Phone: 555-5555"));
placesLayer.addMarker(newMarker(newLatLong("42.114556","-72.526309"),"<b>Elementary School</b><br>Skinner&#39;s Phone: 555-5555"));
placesLayer.addMarker(newMarker(newLatLong("42.120286","-72.547488"),"<b>Hospital</b><br>Dr. Hibbert lol"));
LayerriversLayer = (newLayer()).setLabel("Rivers");
riversLayer.addMarker(newMarker(newLatLong("42.104702","-72.530923"))).addMarker(newMarker(newLatLong("42.111707","-72.541008")));
LayerpolycircleLayer = (newLayer()).setLabel("Polyline/Circle");
polycircleLayer.addPolyline((newPolyline()).addPoint(newLatLong("42.114556","-72.526309")).addPoint(newLatLong("42.120000","-72.540000")));
polycircleLayer.addCircle((newCircle()).setPosition(newLatLong("42.111707","-72.541008")));
springfieldMap.setWidth("350px").setHeight("250px").setCenter(newLatLong("42.111707","-72.541008")).setZoom(13);
springfieldMap.addLayer(placesLayer).addLayer(riversLayer).addLayer(polycircleLayer);
...

All classes support concatenation of methods and have a toString() method for debug purposes. Details can be found HERE.

New version (february 2016) :

You can display a minimap by adding the following lines in testBean.java :

springfieldMap.setMiniMap(true);
springfieldMap.setMiniMapWidth(100);
springfieldMap.setMiniMapHeight(66);
springfieldMap.setMiniMapPosition("bottomright");

You can work offline or choose your tile server by adding the following lines in testBean.java :

springfieldMap.setUrlTemplate("http://tile.stamen.com/toner/{z}/{x}/{y}.png");

You can add a pulse animation to yours markers by adding the following lines in testBean.java :

placesLayer.addMarker(newMarker(newLatLong("47.084461"," 2.400046"),"The center of France", newPulse(true, 10, "#ff0000")));

License

GPLv2 License, details HERE.

About

A JSF Leaflet wrapper component for OpenStreetMap (OSM)

Resources

Stars

23 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Nov 28, 2022. It is now read-only.

Latest commit

History

80 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Overview

JSF2Leaf is a JavaServer Faces component that allows a simpler way to insert maps in your webpage using just a tag, like any other JSF component. This is possible because JSF2Leaf wraps the Leaflet map library, using OpenStreetMap as map provider.

Features

  • Simple, just a single tag and you have a map!
  • Support Markers, Layers, Polylines, Circles and Clusterization
  • Easy, no need to know Leaflet, javascript or any other map API !
  • Small ~ 63 kb

Article

http://www.l3oc.com/2015/06/jsf2leaf.html

Usage

Just copy jsf2leaf.jar to:

<project_dir>\WebContent\WEB-INF\lib

Then in your .xhtml file insert the library namespace:

xmlns:leaf="http://java.sun.com/jsf/composite/jsf2leaf"

Now you have access to the <leaf:map /> and <leaf:mapAdvanced /> tags !

Simple Map

For a simple map, <leaf:map /> should be used, because all parameters can be set in the tag and a Bean is not really necessary, however, there are some limitations, you can add only a single marker and no layers. Look:

Simplest way to insert a map:

<leaf:mapcenter="42.120000,-72.540000" />

Specifying all possible parameters:

<leaf:mapcenter="42.120000,-72.540000" marker="42.120000,-72.540000"
popupMsg="Krusty Burger&lt;br&gt; Phone: 555-5555" zoomGlobal="false" zoom="12"
width="300px" height="200px" maxZoom="19" minZoom="1" dragging="false"
zoomControl="false"
miniMap="true"
miniMapWidth="100"
miniMapHeight="66"
miniMapPosition="bottomleft"
urlTemplate="http://tile.stamen.com/toner/{z}/{x}/{y}.png"
attribution="JSF2Leaf" />

The parameters list can be found HERE.

Advanced Map

Advanced map should be used if you want advanced features like multiple markers, layers, polylines etc, as well as build the map from Java Bean. The tag <leaf:mapAdvanced /> have just the map parameter, that receives the Map object built in the Bean. JSF2Leaf supply all the classes needed to build the Map object, they will be available after the lib installation and import in the Bean. Look:

test.xhtml:

<leaf:mapAdvancedmap="#{testBean.springfieldMap}" />

testBean.java:

importcom.jsf2leaf.model.Circle;
importcom.jsf2leaf.model.LatLong;
importcom.jsf2leaf.model.Layer;
importcom.jsf2leaf.model.Map;
importcom.jsf2leaf.model.Marker;
importcom.jsf2leaf.model.Polyline;
...
privateMapspringfieldMap = newMap();
...
LayerplacesLayer = (newLayer()).setLabel("Places");
placesLayer.addMarker(newMarker(newLatLong("42.120000","-72.540000"),"<b>Krusty Burger</b><br>Phone: 555-5555"));
placesLayer.addMarker(newMarker(newLatLong("42.114556","-72.526309"),"<b>Elementary School</b><br>Skinner&#39;s Phone: 555-5555"));
placesLayer.addMarker(newMarker(newLatLong("42.120286","-72.547488"),"<b>Hospital</b><br>Dr. Hibbert lol"));
LayerriversLayer = (newLayer()).setLabel("Rivers");
riversLayer.addMarker(newMarker(newLatLong("42.104702","-72.530923"))).addMarker(newMarker(newLatLong("42.111707","-72.541008")));
LayerpolycircleLayer = (newLayer()).setLabel("Polyline/Circle");
polycircleLayer.addPolyline((newPolyline()).addPoint(newLatLong("42.114556","-72.526309")).addPoint(newLatLong("42.120000","-72.540000")));
polycircleLayer.addCircle((newCircle()).setPosition(newLatLong("42.111707","-72.541008")));
springfieldMap.setWidth("350px").setHeight("250px").setCenter(newLatLong("42.111707","-72.541008")).setZoom(13);
springfieldMap.addLayer(placesLayer).addLayer(riversLayer).addLayer(polycircleLayer);
...

All classes support concatenation of methods and have a toString() method for debug purposes. Details can be found HERE.

New version (february 2016) :

You can display a minimap by adding the following lines in testBean.java :

springfieldMap.setMiniMap(true);
springfieldMap.setMiniMapWidth(100);
springfieldMap.setMiniMapHeight(66);
springfieldMap.setMiniMapPosition("bottomright");

You can work offline or choose your tile server by adding the following lines in testBean.java :

springfieldMap.setUrlTemplate("http://tile.stamen.com/toner/{z}/{x}/{y}.png");

You can add a pulse animation to yours markers by adding the following lines in testBean.java :

placesLayer.addMarker(newMarker(newLatLong("47.084461"," 2.400046"),"The center of France", newPulse(true, 10, "#ff0000")));

License

GPLv2 License, details HERE.

About

A JSF Leaflet wrapper component for OpenStreetMap (OSM)

Resources

Stars

23 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Nov 28, 2022. It is now read-only.

Latest commit

History

80 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Overview

JSF2Leaf is a JavaServer Faces component that allows a simpler way to insert maps in your webpage using just a tag, like any other JSF component. This is possible because JSF2Leaf wraps the Leaflet map library, using OpenStreetMap as map provider.

Features

  • Simple, just a single tag and you have a map!
  • Support Markers, Layers, Polylines, Circles and Clusterization
  • Easy, no need to know Leaflet, javascript or any other map API !
  • Small ~ 63 kb

Article

http://www.l3oc.com/2015/06/jsf2leaf.html

Usage

Just copy jsf2leaf.jar to:

<project_dir>\WebContent\WEB-INF\lib

Then in your .xhtml file insert the library namespace:

xmlns:leaf="http://java.sun.com/jsf/composite/jsf2leaf"

Now you have access to the <leaf:map /> and <leaf:mapAdvanced /> tags !

Simple Map

For a simple map, <leaf:map /> should be used, because all parameters can be set in the tag and a Bean is not really necessary, however, there are some limitations, you can add only a single marker and no layers. Look:

Simplest way to insert a map:

<leaf:mapcenter="42.120000,-72.540000" />

Specifying all possible parameters:

<leaf:mapcenter="42.120000,-72.540000" marker="42.120000,-72.540000"
popupMsg="Krusty Burger&lt;br&gt; Phone: 555-5555" zoomGlobal="false" zoom="12"
width="300px" height="200px" maxZoom="19" minZoom="1" dragging="false"
zoomControl="false"
miniMap="true"
miniMapWidth="100"
miniMapHeight="66"
miniMapPosition="bottomleft"
urlTemplate="http://tile.stamen.com/toner/{z}/{x}/{y}.png"
attribution="JSF2Leaf" />

The parameters list can be found HERE.

Advanced Map

Advanced map should be used if you want advanced features like multiple markers, layers, polylines etc, as well as build the map from Java Bean. The tag <leaf:mapAdvanced /> have just the map parameter, that receives the Map object built in the Bean. JSF2Leaf supply all the classes needed to build the Map object, they will be available after the lib installation and import in the Bean. Look:

test.xhtml:

<leaf:mapAdvancedmap="#{testBean.springfieldMap}" />

testBean.java:

importcom.jsf2leaf.model.Circle;
importcom.jsf2leaf.model.LatLong;
importcom.jsf2leaf.model.Layer;
importcom.jsf2leaf.model.Map;
importcom.jsf2leaf.model.Marker;
importcom.jsf2leaf.model.Polyline;
...
privateMapspringfieldMap = newMap();
...
LayerplacesLayer = (newLayer()).setLabel("Places");
placesLayer.addMarker(newMarker(newLatLong("42.120000","-72.540000"),"<b>Krusty Burger</b><br>Phone: 555-5555"));
placesLayer.addMarker(newMarker(newLatLong("42.114556","-72.526309"),"<b>Elementary School</b><br>Skinner&#39;s Phone: 555-5555"));
placesLayer.addMarker(newMarker(newLatLong("42.120286","-72.547488"),"<b>Hospital</b><br>Dr. Hibbert lol"));
LayerriversLayer = (newLayer()).setLabel("Rivers");
riversLayer.addMarker(newMarker(newLatLong("42.104702","-72.530923"))).addMarker(newMarker(newLatLong("42.111707","-72.541008")));
LayerpolycircleLayer = (newLayer()).setLabel("Polyline/Circle");
polycircleLayer.addPolyline((newPolyline()).addPoint(newLatLong("42.114556","-72.526309")).addPoint(newLatLong("42.120000","-72.540000")));
polycircleLayer.addCircle((newCircle()).setPosition(newLatLong("42.111707","-72.541008")));
springfieldMap.setWidth("350px").setHeight("250px").setCenter(newLatLong("42.111707","-72.541008")).setZoom(13);
springfieldMap.addLayer(placesLayer).addLayer(riversLayer).addLayer(polycircleLayer);
...

All classes support concatenation of methods and have a toString() method for debug purposes. Details can be found HERE.

New version (february 2016) :

You can display a minimap by adding the following lines in testBean.java :

springfieldMap.setMiniMap(true);
springfieldMap.setMiniMapWidth(100);
springfieldMap.setMiniMapHeight(66);
springfieldMap.setMiniMapPosition("bottomright");

You can work offline or choose your tile server by adding the following lines in testBean.java :

springfieldMap.setUrlTemplate("http://tile.stamen.com/toner/{z}/{x}/{y}.png");

You can add a pulse animation to yours markers by adding the following lines in testBean.java :

placesLayer.addMarker(newMarker(newLatLong("47.084461"," 2.400046"),"The center of France", newPulse(true, 10, "#ff0000")));

License

GPLv2 License, details HERE.

About

A JSF Leaflet wrapper component for OpenStreetMap (OSM)

Resources

Stars

23 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Nov 28, 2022. It is now read-only.

Latest commit

History

80 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Overview

JSF2Leaf is a JavaServer Faces component that allows a simpler way to insert maps in your webpage using just a tag, like any other JSF component. This is possible because JSF2Leaf wraps the Leaflet map library, using OpenStreetMap as map provider.

Features

  • Simple, just a single tag and you have a map!
  • Support Markers, Layers, Polylines, Circles and Clusterization
  • Easy, no need to know Leaflet, javascript or any other map API !
  • Small ~ 63 kb

Article

http://www.l3oc.com/2015/06/jsf2leaf.html

Usage

Just copy jsf2leaf.jar to:

<project_dir>\WebContent\WEB-INF\lib

Then in your .xhtml file insert the library namespace:

xmlns:leaf="http://java.sun.com/jsf/composite/jsf2leaf"

Now you have access to the <leaf:map /> and <leaf:mapAdvanced /> tags !

Simple Map

For a simple map, <leaf:map /> should be used, because all parameters can be set in the tag and a Bean is not really necessary, however, there are some limitations, you can add only a single marker and no layers. Look:

Simplest way to insert a map:

<leaf:mapcenter="42.120000,-72.540000" />

Specifying all possible parameters:

<leaf:mapcenter="42.120000,-72.540000" marker="42.120000,-72.540000"
popupMsg="Krusty Burger&lt;br&gt; Phone: 555-5555" zoomGlobal="false" zoom="12"
width="300px" height="200px" maxZoom="19" minZoom="1" dragging="false"
zoomControl="false"
miniMap="true"
miniMapWidth="100"
miniMapHeight="66"
miniMapPosition="bottomleft"
urlTemplate="http://tile.stamen.com/toner/{z}/{x}/{y}.png"
attribution="JSF2Leaf" />

The parameters list can be found HERE.

Advanced Map

Advanced map should be used if you want advanced features like multiple markers, layers, polylines etc, as well as build the map from Java Bean. The tag <leaf:mapAdvanced /> have just the map parameter, that receives the Map object built in the Bean. JSF2Leaf supply all the classes needed to build the Map object, they will be available after the lib installation and import in the Bean. Look:

test.xhtml:

<leaf:mapAdvancedmap="#{testBean.springfieldMap}" />

testBean.java:

importcom.jsf2leaf.model.Circle;
importcom.jsf2leaf.model.LatLong;
importcom.jsf2leaf.model.Layer;
importcom.jsf2leaf.model.Map;
importcom.jsf2leaf.model.Marker;
importcom.jsf2leaf.model.Polyline;
...
privateMapspringfieldMap = newMap();
...
LayerplacesLayer = (newLayer()).setLabel("Places");
placesLayer.addMarker(newMarker(newLatLong("42.120000","-72.540000"),"<b>Krusty Burger</b><br>Phone: 555-5555"));
placesLayer.addMarker(newMarker(newLatLong("42.114556","-72.526309"),"<b>Elementary School</b><br>Skinner&#39;s Phone: 555-5555"));
placesLayer.addMarker(newMarker(newLatLong("42.120286","-72.547488"),"<b>Hospital</b><br>Dr. Hibbert lol"));
LayerriversLayer = (newLayer()).setLabel("Rivers");
riversLayer.addMarker(newMarker(newLatLong("42.104702","-72.530923"))).addMarker(newMarker(newLatLong("42.111707","-72.541008")));
LayerpolycircleLayer = (newLayer()).setLabel("Polyline/Circle");
polycircleLayer.addPolyline((newPolyline()).addPoint(newLatLong("42.114556","-72.526309")).addPoint(newLatLong("42.120000","-72.540000")));
polycircleLayer.addCircle((newCircle()).setPosition(newLatLong("42.111707","-72.541008")));
springfieldMap.setWidth("350px").setHeight("250px").setCenter(newLatLong("42.111707","-72.541008")).setZoom(13);
springfieldMap.addLayer(placesLayer).addLayer(riversLayer).addLayer(polycircleLayer);
...

All classes support concatenation of methods and have a toString() method for debug purposes. Details can be found HERE.

New version (february 2016) :

You can display a minimap by adding the following lines in testBean.java :

springfieldMap.setMiniMap(true);
springfieldMap.setMiniMapWidth(100);
springfieldMap.setMiniMapHeight(66);
springfieldMap.setMiniMapPosition("bottomright");

You can work offline or choose your tile server by adding the following lines in testBean.java :

springfieldMap.setUrlTemplate("http://tile.stamen.com/toner/{z}/{x}/{y}.png");

You can add a pulse animation to yours markers by adding the following lines in testBean.java :

placesLayer.addMarker(newMarker(newLatLong("47.084461"," 2.400046"),"The center of France", newPulse(true, 10, "#ff0000")));

License

GPLv2 License, details HERE.

About

A JSF Leaflet wrapper component for OpenStreetMap (OSM)

Resources

Stars

23 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Nov 28, 2022. It is now read-only.

Latest commit

History

80 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Overview

JSF2Leaf is a JavaServer Faces component that allows a simpler way to insert maps in your webpage using just a tag, like any other JSF component. This is possible because JSF2Leaf wraps the Leaflet map library, using OpenStreetMap as map provider.

Features

  • Simple, just a single tag and you have a map!
  • Support Markers, Layers, Polylines, Circles and Clusterization
  • Easy, no need to know Leaflet, javascript or any other map API !
  • Small ~ 63 kb

Article

http://www.l3oc.com/2015/06/jsf2leaf.html

Usage

Just copy jsf2leaf.jar to:

<project_dir>\WebContent\WEB-INF\lib

Then in your .xhtml file insert the library namespace:

xmlns:leaf="http://java.sun.com/jsf/composite/jsf2leaf"

Now you have access to the <leaf:map /> and <leaf:mapAdvanced /> tags !

Simple Map

For a simple map, <leaf:map /> should be used, because all parameters can be set in the tag and a Bean is not really necessary, however, there are some limitations, you can add only a single marker and no layers. Look:

Simplest way to insert a map:

<leaf:mapcenter="42.120000,-72.540000" />

Specifying all possible parameters:

<leaf:mapcenter="42.120000,-72.540000" marker="42.120000,-72.540000"
popupMsg="Krusty Burger&lt;br&gt; Phone: 555-5555" zoomGlobal="false" zoom="12"
width="300px" height="200px" maxZoom="19" minZoom="1" dragging="false"
zoomControl="false"
miniMap="true"
miniMapWidth="100"
miniMapHeight="66"
miniMapPosition="bottomleft"
urlTemplate="http://tile.stamen.com/toner/{z}/{x}/{y}.png"
attribution="JSF2Leaf" />

The parameters list can be found HERE.

Advanced Map

Advanced map should be used if you want advanced features like multiple markers, layers, polylines etc, as well as build the map from Java Bean. The tag <leaf:mapAdvanced /> have just the map parameter, that receives the Map object built in the Bean. JSF2Leaf supply all the classes needed to build the Map object, they will be available after the lib installation and import in the Bean. Look:

test.xhtml:

<leaf:mapAdvancedmap="#{testBean.springfieldMap}" />

testBean.java:

importcom.jsf2leaf.model.Circle;
importcom.jsf2leaf.model.LatLong;
importcom.jsf2leaf.model.Layer;
importcom.jsf2leaf.model.Map;
importcom.jsf2leaf.model.Marker;
importcom.jsf2leaf.model.Polyline;
...
privateMapspringfieldMap = newMap();
...
LayerplacesLayer = (newLayer()).setLabel("Places");
placesLayer.addMarker(newMarker(newLatLong("42.120000","-72.540000"),"<b>Krusty Burger</b><br>Phone: 555-5555"));
placesLayer.addMarker(newMarker(newLatLong("42.114556","-72.526309"),"<b>Elementary School</b><br>Skinner&#39;s Phone: 555-5555"));
placesLayer.addMarker(newMarker(newLatLong("42.120286","-72.547488"),"<b>Hospital</b><br>Dr. Hibbert lol"));
LayerriversLayer = (newLayer()).setLabel("Rivers");
riversLayer.addMarker(newMarker(newLatLong("42.104702","-72.530923"))).addMarker(newMarker(newLatLong("42.111707","-72.541008")));
LayerpolycircleLayer = (newLayer()).setLabel("Polyline/Circle");
polycircleLayer.addPolyline((newPolyline()).addPoint(newLatLong("42.114556","-72.526309")).addPoint(newLatLong("42.120000","-72.540000")));
polycircleLayer.addCircle((newCircle()).setPosition(newLatLong("42.111707","-72.541008")));
springfieldMap.setWidth("350px").setHeight("250px").setCenter(newLatLong("42.111707","-72.541008")).setZoom(13);
springfieldMap.addLayer(placesLayer).addLayer(riversLayer).addLayer(polycircleLayer);
...

All classes support concatenation of methods and have a toString() method for debug purposes. Details can be found HERE.

New version (february 2016) :

You can display a minimap by adding the following lines in testBean.java :

springfieldMap.setMiniMap(true);
springfieldMap.setMiniMapWidth(100);
springfieldMap.setMiniMapHeight(66);
springfieldMap.setMiniMapPosition("bottomright");

You can work offline or choose your tile server by adding the following lines in testBean.java :

springfieldMap.setUrlTemplate("http://tile.stamen.com/toner/{z}/{x}/{y}.png");

You can add a pulse animation to yours markers by adding the following lines in testBean.java :

placesLayer.addMarker(newMarker(newLatLong("47.084461"," 2.400046"),"The center of France", newPulse(true, 10, "#ff0000")));

License

GPLv2 License, details HERE.

About

A JSF Leaflet wrapper component for OpenStreetMap (OSM)

Resources

Stars

23 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Nov 28, 2022. It is now read-only.

Latest commit

History

80 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Overview

JSF2Leaf is a JavaServer Faces component that allows a simpler way to insert maps in your webpage using just a tag, like any other JSF component. This is possible because JSF2Leaf wraps the Leaflet map library, using OpenStreetMap as map provider.

Features

  • Simple, just a single tag and you have a map!
  • Support Markers, Layers, Polylines, Circles and Clusterization
  • Easy, no need to know Leaflet, javascript or any other map API !
  • Small ~ 63 kb

Article

http://www.l3oc.com/2015/06/jsf2leaf.html

Usage

Just copy jsf2leaf.jar to:

<project_dir>\WebContent\WEB-INF\lib

Then in your .xhtml file insert the library namespace:

xmlns:leaf="http://java.sun.com/jsf/composite/jsf2leaf"

Now you have access to the <leaf:map /> and <leaf:mapAdvanced /> tags !

Simple Map

For a simple map, <leaf:map /> should be used, because all parameters can be set in the tag and a Bean is not really necessary, however, there are some limitations, you can add only a single marker and no layers. Look:

Simplest way to insert a map:

<leaf:mapcenter="42.120000,-72.540000" />

Specifying all possible parameters:

<leaf:mapcenter="42.120000,-72.540000" marker="42.120000,-72.540000"
popupMsg="Krusty Burger&lt;br&gt; Phone: 555-5555" zoomGlobal="false" zoom="12"
width="300px" height="200px" maxZoom="19" minZoom="1" dragging="false"
zoomControl="false"
miniMap="true"
miniMapWidth="100"
miniMapHeight="66"
miniMapPosition="bottomleft"
urlTemplate="http://tile.stamen.com/toner/{z}/{x}/{y}.png"
attribution="JSF2Leaf" />

The parameters list can be found HERE.

Advanced Map

Advanced map should be used if you want advanced features like multiple markers, layers, polylines etc, as well as build the map from Java Bean. The tag <leaf:mapAdvanced /> have just the map parameter, that receives the Map object built in the Bean. JSF2Leaf supply all the classes needed to build the Map object, they will be available after the lib installation and import in the Bean. Look:

test.xhtml:

<leaf:mapAdvancedmap="#{testBean.springfieldMap}" />

testBean.java:

importcom.jsf2leaf.model.Circle;
importcom.jsf2leaf.model.LatLong;
importcom.jsf2leaf.model.Layer;
importcom.jsf2leaf.model.Map;
importcom.jsf2leaf.model.Marker;
importcom.jsf2leaf.model.Polyline;
...
privateMapspringfieldMap = newMap();
...
LayerplacesLayer = (newLayer()).setLabel("Places");
placesLayer.addMarker(newMarker(newLatLong("42.120000","-72.540000"),"<b>Krusty Burger</b><br>Phone: 555-5555"));
placesLayer.addMarker(newMarker(newLatLong("42.114556","-72.526309"),"<b>Elementary School</b><br>Skinner&#39;s Phone: 555-5555"));
placesLayer.addMarker(newMarker(newLatLong("42.120286","-72.547488"),"<b>Hospital</b><br>Dr. Hibbert lol"));
LayerriversLayer = (newLayer()).setLabel("Rivers");
riversLayer.addMarker(newMarker(newLatLong("42.104702","-72.530923"))).addMarker(newMarker(newLatLong("42.111707","-72.541008")));
LayerpolycircleLayer = (newLayer()).setLabel("Polyline/Circle");
polycircleLayer.addPolyline((newPolyline()).addPoint(newLatLong("42.114556","-72.526309")).addPoint(newLatLong("42.120000","-72.540000")));
polycircleLayer.addCircle((newCircle()).setPosition(newLatLong("42.111707","-72.541008")));
springfieldMap.setWidth("350px").setHeight("250px").setCenter(newLatLong("42.111707","-72.541008")).setZoom(13);
springfieldMap.addLayer(placesLayer).addLayer(riversLayer).addLayer(polycircleLayer);
...

All classes support concatenation of methods and have a toString() method for debug purposes. Details can be found HERE.

New version (february 2016) :

You can display a minimap by adding the following lines in testBean.java :

springfieldMap.setMiniMap(true);
springfieldMap.setMiniMapWidth(100);
springfieldMap.setMiniMapHeight(66);
springfieldMap.setMiniMapPosition("bottomright");

You can work offline or choose your tile server by adding the following lines in testBean.java :

springfieldMap.setUrlTemplate("http://tile.stamen.com/toner/{z}/{x}/{y}.png");

You can add a pulse animation to yours markers by adding the following lines in testBean.java :

placesLayer.addMarker(newMarker(newLatLong("47.084461"," 2.400046"),"The center of France", newPulse(true, 10, "#ff0000")));

License

GPLv2 License, details HERE.

About

A JSF Leaflet wrapper component for OpenStreetMap (OSM)

Resources

Stars

23 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Nov 28, 2022. It is now read-only.

Latest commit

History

80 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Overview

JSF2Leaf is a JavaServer Faces component that allows a simpler way to insert maps in your webpage using just a tag, like any other JSF component. This is possible because JSF2Leaf wraps the Leaflet map library, using OpenStreetMap as map provider.

Features

  • Simple, just a single tag and you have a map!
  • Support Markers, Layers, Polylines, Circles and Clusterization
  • Easy, no need to know Leaflet, javascript or any other map API !
  • Small ~ 63 kb

Article

http://www.l3oc.com/2015/06/jsf2leaf.html

Usage

Just copy jsf2leaf.jar to:

<project_dir>\WebContent\WEB-INF\lib

Then in your .xhtml file insert the library namespace:

xmlns:leaf="http://java.sun.com/jsf/composite/jsf2leaf"

Now you have access to the <leaf:map /> and <leaf:mapAdvanced /> tags !

Simple Map

For a simple map, <leaf:map /> should be used, because all parameters can be set in the tag and a Bean is not really necessary, however, there are some limitations, you can add only a single marker and no layers. Look:

Simplest way to insert a map:

<leaf:mapcenter="42.120000,-72.540000" />

Specifying all possible parameters:

<leaf:mapcenter="42.120000,-72.540000" marker="42.120000,-72.540000"
popupMsg="Krusty Burger&lt;br&gt; Phone: 555-5555" zoomGlobal="false" zoom="12"
width="300px" height="200px" maxZoom="19" minZoom="1" dragging="false"
zoomControl="false"
miniMap="true"
miniMapWidth="100"
miniMapHeight="66"
miniMapPosition="bottomleft"
urlTemplate="http://tile.stamen.com/toner/{z}/{x}/{y}.png"
attribution="JSF2Leaf" />

The parameters list can be found HERE.

Advanced Map

Advanced map should be used if you want advanced features like multiple markers, layers, polylines etc, as well as build the map from Java Bean. The tag <leaf:mapAdvanced /> have just the map parameter, that receives the Map object built in the Bean. JSF2Leaf supply all the classes needed to build the Map object, they will be available after the lib installation and import in the Bean. Look:

test.xhtml:

<leaf:mapAdvancedmap="#{testBean.springfieldMap}" />

testBean.java:

importcom.jsf2leaf.model.Circle;
importcom.jsf2leaf.model.LatLong;
importcom.jsf2leaf.model.Layer;
importcom.jsf2leaf.model.Map;
importcom.jsf2leaf.model.Marker;
importcom.jsf2leaf.model.Polyline;
...
privateMapspringfieldMap = newMap();
...
LayerplacesLayer = (newLayer()).setLabel("Places");
placesLayer.addMarker(newMarker(newLatLong("42.120000","-72.540000"),"<b>Krusty Burger</b><br>Phone: 555-5555"));
placesLayer.addMarker(newMarker(newLatLong("42.114556","-72.526309"),"<b>Elementary School</b><br>Skinner&#39;s Phone: 555-5555"));
placesLayer.addMarker(newMarker(newLatLong("42.120286","-72.547488"),"<b>Hospital</b><br>Dr. Hibbert lol"));
LayerriversLayer = (newLayer()).setLabel("Rivers");
riversLayer.addMarker(newMarker(newLatLong("42.104702","-72.530923"))).addMarker(newMarker(newLatLong("42.111707","-72.541008")));
LayerpolycircleLayer = (newLayer()).setLabel("Polyline/Circle");
polycircleLayer.addPolyline((newPolyline()).addPoint(newLatLong("42.114556","-72.526309")).addPoint(newLatLong("42.120000","-72.540000")));
polycircleLayer.addCircle((newCircle()).setPosition(newLatLong("42.111707","-72.541008")));
springfieldMap.setWidth("350px").setHeight("250px").setCenter(newLatLong("42.111707","-72.541008")).setZoom(13);
springfieldMap.addLayer(placesLayer).addLayer(riversLayer).addLayer(polycircleLayer);
...

All classes support concatenation of methods and have a toString() method for debug purposes. Details can be found HERE.

New version (february 2016) :

You can display a minimap by adding the following lines in testBean.java :

springfieldMap.setMiniMap(true);
springfieldMap.setMiniMapWidth(100);
springfieldMap.setMiniMapHeight(66);
springfieldMap.setMiniMapPosition("bottomright");

You can work offline or choose your tile server by adding the following lines in testBean.java :

springfieldMap.setUrlTemplate("http://tile.stamen.com/toner/{z}/{x}/{y}.png");

You can add a pulse animation to yours markers by adding the following lines in testBean.java :

placesLayer.addMarker(newMarker(newLatLong("47.084461"," 2.400046"),"The center of France", newPulse(true, 10, "#ff0000")));

License

GPLv2 License, details HERE.

About

A JSF Leaflet wrapper component for OpenStreetMap (OSM)

Resources

Stars

23 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages