Closed GoogleCodeExporter closed 9 years ago
ui:repeat doesnot work with map objects, and this is a known issue.
As a walk-around:
You can dynamically create map objects inside your managed bean code.
Original comment by Hazem.sa...@gmail.com
on 1 Oct 2008 at 2:58
I will start working on this issue on the next free time slot.
Original comment by Hazem.sa...@gmail.com
on 2 Oct 2008 at 8:04
Assigned to me.
Dapooley, BTW you can provide a patch if you have some free time to fix this,
and I
will review.
Thanks!
Original comment by Hazem.sa...@gmail.com
on 2 Oct 2008 at 8:05
:) I'm in the middle of moving house.
Original comment by dapoo...@gmail.com
on 8 Oct 2008 at 12:57
ok, Good Luck then :).
Original comment by Hazem.sa...@gmail.com
on 8 Oct 2008 at 1:41
It's also not working with <t:dataList>.
@Hazem.saleh:
Could you please explain the workaround a little more detailed?
how do i include these map objects within the m:map?
Original comment by robert.m...@gmail.com
on 7 Dec 2008 at 4:48
In the managed bean code:
package nl.ordina.google.backing;
import com.googlecode.gmaps4jsf.component.map.Map;
import com.googlecode.gmaps4jsf.component.marker.Marker;
import com.googlecode.gmaps4jsf.component.eventlistener.EventListener;
public class GoogleBean {
private Map map;
public void setMap(Map map) {
this.map = map;
map.setLatitude("52.05");
map.setLongitude("5.11");
Marker mark = new Marker();
mark.setLatitude("52.05");
mark.setLongitude("5.11");
mark.setJsVariable("office1");
mark.setId("mark1");
EventListener event = new EventListener();
event.setEventName("click");
event.setJsFunction("marker1ClickHandler");
mark.getChildren().add(event);
map.getChildren().add(mark);
Marker mark2 = new Marker();
mark2.setLatitude("53.19");
mark2.setLongitude("6.53");
mark2.setJsVariable("office2");
mark.setId("mark2");
EventListener event2 = new EventListener();
event2.setEventName("click");
event2.setJsFunction("marker2ClickHandler");
mark2.getChildren().add(event2);
map.getChildren().add(mark2);
}
public Map getMap() {
return map;
}
}
In the JSP code:
<?xml version='1.0' encoding='windows-1252'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
xmlns:yui="http://code.google.com/p/gmaps4jsf/">
<jsp:directive.page contentType="text/html;charset=windows-1252"/>
<body onunload="GUnload()">
<f:view>
<f:verbatim>
<![CDATA[
<script
src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAM7FSGSscPTbXiOt1No2LPR
RKSto2PHtB06oPKyRV-hhKjT8WCBSTy2uiK1M8ViuI9Xm8mMLb7d1aKQ"
type="text/javascript">
</script>
]]>
</f:verbatim>
<af:form id="form">
<af:panelGroupLayout>
<f:verbatim>
<![CDATA[
<script type="text/javascript">
function hideMarker() {
office1.hide();
office2.hide();
}
function showMarker() {
office1.show();
office2.show();
}
function marker1ClickHandler() {
alert("You clicked on the headoffice");
}
function marker2ClickHandler() {
alert("You clicked on a office");
}
</script>
]]>
</f:verbatim>
<af:panelHeader text="GMaps4JSF">
<input type="button" value="Hide Offices" onclick="hideMarker();"/>
<input type="button" value="Show Offices" onclick="showMarker();"/>
<yui:map width="500px" height="500px" zoom="7"
binding="#{GoogleBean.map}">
<yui:mapControl name="GLargeMapControl"
position="G_ANCHOR_BOTTOM_RIGHT"/>
<yui:mapControl name="GMapTypeControl"/>
</yui:map>
</af:panelHeader>
</af:panelGroupLayout>
</af:form>
</f:view>
</body>
</jsp:root>
This code snippet is taken from:
http://biemond.blogspot.com/2008/09/google-maps-for-jsf-gmaps4jsf-in.html
As you notice, Edwin uses the binding attribute to create dynamic map markers.
Original comment by Hazem.sa...@gmail.com
on 7 Dec 2008 at 7:06
Hi,
Actually codes blow:
<yui:map width="500px" height="500px" zoom="7"
binding="#{GoogleBean.map}">
uses "binding" attribute which is not valid for "m:map" so it does not working
for me?
Is there any other way for creating markers dynamically? And also, how can we
let
user create their own markers so that user can create his/her favorite places?
Thanks.
Original comment by onurrak...@gmail.com
on 10 Dec 2008 at 1:31
I am unable to get this working with a 'dataTable' either. I am trying to use
the
binding attribute with Bean. This works fine without a 'dataTable' however:
Bean Code:
public Map getMap() {
Map map = new Map();
map.setId("map_" + getId());
map.setWidth("280");
map.setHeight("220");
map.setType("G_NORMAL_MAP");
map.setZoom("14");
map.setJsVariable("map_" + getId());
map.setRenderOnWindowLoad("false");
if (getLatitude() != null && getLongitude() != null) {
map.setLatitude(getLatitude());
map.setLongitude(getLongitude());
} else {
map.setAddress(getMapAddress());
}
return map;
}
JSP:
<m:map id="map" binding="#{item.location.map}"/>
Exception:
javax.el.PropertyNotFoundException: Target Unreachable, identifier 'item'
resolved to
null
Can you think of a workaround?
Original comment by smith....@gmail.com
on 12 Dec 2008 at 7:01
Issue 9 has been merged into this issue.
Original comment by Hazem.sa...@gmail.com
on 1 Jan 2009 at 7:40
Original comment by Hazem.sa...@gmail.com
on 3 Jan 2009 at 7:02
Original comment by Hazem.sa...@gmail.com
on 3 Jan 2009 at 8:29
Original comment by Hazem.sa...@gmail.com
on 13 Apr 2009 at 5:52
Original comment by Hazem.sa...@gmail.com
on 13 Apr 2009 at 5:54
Is this the only way to display multiple markers ? can we expect to use an
attribute
like m:markers and provide a list of markers to it.
I have to use this functionality in my project so I am looking forward to get
this
answer.
Many thanks in advance.
Original comment by deveshsi...@gmail.com
on 3 Sep 2009 at 11:04
Hi,
I've got a question connected with this code:
http://biemond.blogspot.com/2008/09/google-maps-for-jsf-gmaps4jsf-in.html
Is there any way to add HTMLInformationWindow to a marker?
I tried something like this, but it doesn't work (HTMLInformationWindow doesn't
show
up):
Marker mark = new Marker();
[...]
HTMLInformationWindow window = new HTMLInformationWindow();
window.setHtmlText("Test");
mark.getChildren().add(window);
map.getChildren().add(mark);
Thanks in advance.
Original comment by john.pre...@gmail.com
on 9 Jan 2010 at 12:07
@John:
This can work with many ways.
1. You can declare the <m:htmlInfoWindow/> as a child of the <m:marker/>.
2. Or you can use the way you describe but please make sure that you are using
the
latest snapshot of the library here:
http://gmaps4jsf.googlecode.com/files/gmaps4jsf-1.1.3-SNAPSHOT.jar
Note that when the htmlInfoWindow is added as a children of the marker then it
will
appear when you click the marker.
Here is an example:
http://mashups.s43.eatj.com/gmaps4jsf-examples/pages/addressableMarkers.jsf
Original comment by Hazem.sa...@gmail.com
on 9 Jan 2010 at 12:21
Thanks for a quick response. Let's say, I don't want to add the htmlInfoWindow
as a
children of the marker. In this case I have to set htmlInfoWindows' parameters:
latitude and longitude. Does your library provide a method which can return
these
values if the address is given?
Original comment by john.pre...@gmail.com
on 9 Jan 2010 at 2:01
http://code.google.com/p/gmaps4jsf/wiki/htmlInformationWindowComponent
According to the documentation the htmlInformationWindow can work standalone by
lng
and lat only till now.
Original comment by Hazem.sa...@gmail.com
on 9 Jan 2010 at 4:22
Original issue reported on code.google.com by
dapoo...@gmail.com
on 1 Oct 2008 at 2:13