0

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()が呼び出されないことです。手がかりはありますか?

4

1 に答える 1

2

署名をに変更します

public void retriveCordinates(ActionEvent event){

または単に変更actionListenerするaction

また

ベスト プラクティスは、 getter/setter に対してのみ使用getまたはプレフィックスを使用することです。そのため、次のように変更しましたsetgetCordinatesretriveCordinates

于 2012-10-09T10:14:36.913 に答える