我正在尝试在我的 JSF-2/Primefaces-3 应用程序中获取纬度和经度。我正在使用以下代码:
XHTML
<h:inputText id="address" value="#{nyBean.address}" />
<p:remoteCommand name="rmtCommandGeocoder" actionListener="#{myBean.getCordinates}" />
JAVA脚本
function geocoder() {
var geocoder = new google.maps.Geocoder();
var address = document.getElementById("address").value;
geocoder.geocode({
'address' : address
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
// Calls the remoteCommand "rmtCommandGeocoder",
// passing the coordinates to map of parameters
rmtCommandGeocoder([ {
name : 'latitude',
value : results[0].geometry.location.lat()
}, {
name : 'longitude',
value : results[0].geometry.location.lng()
}]);
}
});
}
豆
public void getCordinates() {
FacesContext context = FacesContext.getCurrentInstance();
Map<String, String> parameterMap = context.getExternalContext().getRequestParameterMap();
double latitude = Double.parseDouble((String) parameterMap.get("latitude"));
double longitude = Double.parseDouble((String) parameterMap.get("longitude"));
}
这里的问题是 getCordinates() 没有被调用。有什么线索吗?