1

ユーザーがタイムゾーンを指定する方法を実装しています。新しいものは何もありません。ユーザーが数百の選択肢のリストから選択する必要があるが、リスト内の正しい値をすぐに知らない可能性がある場合に、ケースを処理するための優れた戦略であると人々が言うことを聞きたいです。オートコンプリートのようなものを使用できることは知っていますが、それは人々が探しているものを知っている場合にのみ機能します. 確かに国は明らかなはずですが... 最小公分母です(一部の人々は愚かです...私のように;)。

400 を超える異なる ISO タイムゾーンがあります (EST、PST などは含まれていませんが、これは含まれていません)。それは長いリストです。ユーザーが最初にいる国を選択できるようにすると、便利に分割できます。たとえば、別のメニューを選択します。しかし、200以上の国があります。では、簡単かつ効率的に作業できる 200 か国を提示するにはどうすればよいでしょうか。

Olson タイムゾーン ファイル (iso3166.tab および zone.tab) から読み取る多数のクラスを作成して jar にパッケージ化し、特定の国をリストの一番上に優先順位付けするなど、タイムゾーンおよびタイムゾーン国の配列リストを提供します。しかし今、国とタイムゾーンを表示するためのより良い方法を学びたいと思っています. 国コードとタイムゾーン コードを抽出して相互に関連付ける簡単でクリーンな方法を見つけたので、これを自分で行いました。

4

1 に答える 1

0

あなたの特定の要件については、グリニッジを中心とした Ubuntu のような Linux ディストリビューションで見られるような世界地図を使用することを考えることができます。次に、持っているデータにマーカーを配置し、ユーザーが最も近いマーカーを選択できるようにします。

Ubuntuのタイムゾーンの選択を参照してください

このために、Primefaces GMAPコンポーネントを使用して、次のようなオーバーレイを追加できます。

 LatLng coord1 = new LatLng(36.885233, 30.702323); 
 PlaceResult placeResultObj1 = new  new PlaceResult("660")

 //Basic marker  
 simpleModel.addOverlay(new Marker(coord1, "Konyaalti", placeResultObj1)); 

PlaceResult.java

public class PlaceResult {
    private String utc_offset;

    public PlaceResult(String utc_offset){
        this.utc_offset = utc_offset;
    }

    public String getUtc_offset() {
        return utc_offset;
    }

    public void setUtc_offset(String utc_offset) {
        this.utc_offset = utc_offset;
    }

}

もう 1 つの方法は、Google マップの Places ライブラリを使用することです。オブジェクトをさまざまな方法で取得できることを利用してgoogle.maps.places.PlaceResult、都市を選択できるオートコンプリート機能が気に入っています。都市を選択すると、情報ウィンドウに utc_offset を表示できます。

このデモを見ることができます

現在、ほとんどの都市では utc_offset がまだ設定されていないようです。私が見つけた utc_offset を持つアドレスの 1 つは

オーストラリアの Newy Airport Transport Shuttle。次に、off_set を入力非表示パラメーターとして渡して、値をサーバーに送信できます。

以下も参照してください。

于 2012-10-23T02:25:00.980 に答える