我正在使用gmaps4jsf
在我的应用中显示Google地图,但我希望在用户输入他/她的范围,城市,州和国家后更新地图。通过这种方式,我可以动态地向gmaps4jsf
提供更准确的信息。
但是每当我填写一些字段时,地图就会消失。我正在使用state
:
State:<h:message id="m_state" for="state" styleClass="red" /><br/>
<h:selectOneMenu id="state" value="#{propertyC.property.addressState.state}">
<f:selectItem itemLabel="" itemValue="" />
<f:selectItems value="#{addressB.states('US')}" var="state" itemValue="#{state.key}" itemLabel="#{state.value}" />
<f:ajax event="blur" render="m_state map" />
</h:selectOneMenu>
<br/>
// others fields
<m:map id="map" width="425px" height="250px" address="#{propertyC.property.street}, #{propertyC.property.addressCity.city}, #{propertyC.property.addressState.state}, #{propertyC.property.addressCountry.country}, #{propertyC.property.cep}" zoom="25" autoReshape="true" >
<m:marker>
<m:icon imageURL="http://i.imgur.com/WFJo62Q.png"/>
</m:marker>
</m:map>
当用户输入他/她的地址时,如何动态显示地图?
答案 0 :(得分:2)
是的,为了使用Ajax动态更改地图内容,您需要将partiallyTriggered属性设置为true。
检查使用GMaps4JSF 3.0.0的JSF Mashup混音演示,了解如何使用Ajax更新地图内容:
http://www.mashups4jsf.com/gmaps4jsf-examples2-3.0.0/pages/theater2.xhtml
这也是演示源代码:
http://www.mashups4jsf.com/gmaps4jsf-examples2-3.0.0/pages/theater2.xhtml.source
答案 1 :(得分:1)
尝试设置以下属性:partiallyTriggered="true"
。
如果您使用的是ajaxfied数据提交,这将允许部分呈现。