問題タブ [geoext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
extjs - ExtJs 4.2.1 と GeoExt を使用して openstreetmap を表示する
PHP、ExtJS、GeoExt、および OpenLayers を使用して PgroutingWorkshop を適用しようとしています。私はチュートリアルで事実、彼らは ExtJS 3.3.1 を使用していると思います。私は 4.2.1 だと思います。まず、4.2.1 バージョンには存在しない ext-base という JS スクリプトについて言及しました。私は、これはあまり重要ではないかもしれないと言ったので、彼らが言ったことをすべて適用しましたが、何も現れません. 私は、osm マップなしで geoExt の公式 Web サイトから別のチュートリアルを試しましたが、どちらも機能しません。コードは次のとおりです。
extjs - GeoExt 2.0 と Sencha Architect 3 の統合
GeoExt 2.0 を Sencha Architect 3 に統合する最良の方法を知っている人はいますか?
可能のようですが、私が見たいくつかのドキュメントに基づいてそれを行う明確な方法はありません。
Senchaフォーラムのフォーラム投稿 ( GeoExt Inside Sencha Architect ) では、GeoExt を外部リソースとして追加し、リソースから Sencha アーキテクト内でクラスをインスタンス化することが言及されています。投稿内のリンクをたどると、Sencha のリソースを使用するためのユーザー ガイドが表示されます。
ここにあるこの情報に基づいて、次のことができるはずです。
- GeoExt マップ パネルをリソースとして追加する
- ビューにパネルを配置する
- 配置したパネルの拡張プロパティを GeoExtMapPanel に設定します。
ただし、拡張プロパティが見つかりません。
私が調べたもう 1 つのオプションは、おそらく、使用したい GeoExt コンポーネントの Architect 拡張定義を作成することです。このオプションは、より複雑に見えます。ここにユーザー拡張機能の作成に関するガイドがあります ( Creating an Architect Extension )。
javascript - GeoExt.LayerOpacitySlider が WMS レイヤーで機能しないのはなぜですか?
OpenLayers と GeoExt ライブラリを使用する Web サイトがあります。私の目標は、レイヤーごとに不透明度スライダーを設定することです (5 つのレイヤーがあります)。現在、ベクター レイヤーで動作していますが、WMS レイヤーでは動作していません。ベースレイヤー(オープンストリートマップ)で試してみましたが、うまくいきました。
レイヤーを作成するコードは次のとおりです。
そして、これは私のスライダーのコードです:
ベクターレイヤーのスライダーにまったく同じコードを使用していますが、正常に動作しています。また、レイヤーの名前をベースレイヤーに変更すると、正常に機能します。レイヤー作成で使用した名前を使用しているため、適切なレイヤーを選択していないためとは思えません。レイヤーの削除方法を確認すると、次のように、私と同じ行を使用していることがわかります。map.removeLayer(map.getLayersByName(openlayers_wms_layer_analyses)[0]);
私を助けてくれるアイデアはありますか?
map.getLayersByName(openlayers_wms_layer_analyses)[0]
更新: JavaScript コンソールに書きました。レイヤーを表示するチェックボックスをオンにしなかった場合は「未定義」になりますが、チェックしてレイヤーを表示できる場合は、レイヤーが正しく表示されます。つまり、スライダーが機能するはずです..いいえ?
openlayers - LayerSwitcher (OpenLayers) からレイヤーを非表示にしながら、対応する GeoExt.LegendPanel を表示する方法はありますか?
マップ レイヤーの凡例があります。動的に追加された各レイヤーの色の凡例を追加しています。
私の問題:レイヤースイッチャーでレイヤーを非表示にするように依頼すると(そこに表示したくない)、レイヤーが表示されていても、凡例が表示されなくなります。
凡例を表示しながら、layerSwitcher から除外する方法はありますか? ライブラリが引き起こしている問題を回避したい。DisplayInLayerSwitcher: false を使用せずに OpenLayers の LayerSwitcher からレイヤーを非表示にする方法があれば、私の問題は解決します!!!
これは私の伝説のコードです:
皆さんありがとう。
PS: GeoExt Web サイトから: LegendPanel には、レイヤーが displayInLayerSwitcher: false で構成されていない限り、またはレイヤー レコードに true の値を持つ hideInLegend フィールドがない限り、構成されている layerStore 内のすべてのレイヤーの凡例が含まれます。LegendPanel でフィルターを構成することにより、追加のフィルター処理を行うことができます。
extjs - MapPanel のポップアップを手動でサイズ変更するのは難しい
タイプ「ボーダー」のレイアウトがあり、「中央」パネルにはMapPanelがあります。以下のコードでモードレスポップアップを表示したい。ドラッグしてサイズを変更できます。
ただし、サイズ変更時に、ポップアップ領域の外側 (および MapPanel 領域の内側) でマウスをドラッグすると、このアクションを制御できなくなります (ポップアップ境界を表す点線が消えます)。しかし、MapPanel エリアの外側を「西」または「南」パネルにドラッグすることを主張すると、このアクションを再び制御できるようになります (点線が表示されます)。MapPanel がホバリングしているときにマウス コントロールを取得すると思います。この動作により、ポップアップのサイズ変更は可能ですが、少し面倒です。
ポップアップを表示するときに MapPanel を無効にすると、サイズ変更はうまく機能しますが、それは私が望むものではありません。モードレスポップアップを表示したい。
回避策について何か考えはありますか?...