問題タブ [openlayers-3]
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.
javascript - OpenLayers 3、iPad で表示するとマーカーが別の場所に表示される
マーカー(機能)を含むベクターレイヤーの上に静的マップ画像を表示するOpenLayers3マップがあります。ラップトップまたは PC でマップを表示すると、フィーチャは適切に表示されますが、iPad でマップを表示すると、マーカー マーカーが何らかのオフセットを持っているように見えます (そのため、マップと正しく位置合わせされません)。ピクセル投影を使用しています。なぜこれが起こっているのか誰にも分かりますか?複数の異なるブラウザー (iPad の Safari と Chrome) でテストした結果、ブラウザーの問題ではないという結論に達しました。
javascript - OL3: 強制再描画レイヤー
現在、OpenLayers クライアント バージョン 2.13.1 を新しいバージョンの OpenLayers OL3 にアップグレードしています。私のセットアップは、WMS マッピング サーバーとしての Mapserver と、前述の OpenLayers クライアントで構成されています。
古いシステムでは、ユーザーがマップの一部をクリックすると、マップファイルが再度生成され、その結果、レイヤーを再描画してマップの一部を色付けするという方法で、ユーザーの操作をサポートしました。OL2 バージョンのコードの例:
OL3でも同じ機能を実現したいのですが、再描画機能がありません。便利な関数を 2 つ見つけましたが、同じ機能を得るには追加の作業が必要です。そして - map.render();
コードを動作させるためのもう少し複雑な例も作成しましたが、WMS タイルを取得するためのリクエストには、リクエストを一意にするためのキーとして追加のパラメーターが含まれています。サンプルコードは上記のとおりです。
わかりました、それが状況です。私が聞きたいのは、WMSリクエストに追加のパラメーターを追加せずに、レイヤーを強制的に再描画できる機能が利用できるかどうかだけですか? 私の知る限り、「問題」はブラウザが画像をキャッシュすることであり、リクエストが以前と同じである場合、ブラウザは古い画像を再び表示します。
助けてくれてありがとう。
javascript - Open Layers 3: サイド バイ サイド マップで bindTo イベントのバインドを解除する方法は?
Open Layers 3 の公式ページにあるこのサンプル コードからビルドして、並列マップのバインドを解除しようとしています。
http://ol3js.org/en/master/examples/side-by-side.html
マップのバインドを解除するページへの呼び出しを実行したいと思います。これまでのところ、ここに記載されているように、「unbind」および「unbindAll」呼び出しを使用してみました。
http://ol3js.org/en/master/apidoc/ol.Object.html
次の呼び出しをそれぞれ試しましたが、どれも機能しませんでした。
...私が試すべき提案や代替手段はありますか?
openlayers-3 - 静止画像のオーバーレイの位置を設定する OpenLayers
静止画像を使用して OpenLayers 3 でマップを作成しました。フェイク プロジェクションを使用するため、マップはレイヤーをピクセル単位で適切に表示するために使用できます。これはコードです:
マーカー オーバーレイを追加してインタラクションを追加しようとしましたが、位置を指定するのに苦労しており、マーカーを配置したい場所の内側ではなく、マップの外側にあります。
私はこれに非常に初心者なので、誰かが位置を正しく設定する方法を知っていれば、私は感謝します.
javascript - OpenLayers 3 で機能が選択されたときのイベントはありますか?
http://ol3js.org/en/master/examples/select-features.html
上記の例を考えると、機能が選択されたときにフックするための拡張ポイントは何ですか?
openlayers-3 - ol3 でドラッグ アンド ドロップした kml ファイルのスタイルを取得する
ol3 をいじってカスタム マップを作成します。
Google Mymaps からエクスポートした KML ファイルをドラッグ アンド ドロップすると、うまくいきます。たとえば、ストロークの色などを変更できるように、付属のスタイルを取得したいと考えています。
feature.getKeys
styleUrl というキーがあり、使用すると、feature.get('styleUrl')
その値が#style5であることがわかります。
そのスタイルからストロークの色を取得するにはどうすればよいですか?
Chrome コンソールで考えられることはすべて調べましたが、役に立ちませんでした。
javascript - 機能の Ol3 一意の識別子
いくつかのカスタム マップを作成しようとしています。ドラッグ アンド ドロップ機能があるため、ol3 を使用しています。アイデアは、マップ上の各フィーチャのスタイルを設定できるようにすることです。
JOSM からエクスポートされた .gpx および .json ファイルをドラッグ アンド ドロップし、各フィーチャに固有のオーバーレイを作成します。
そのオーバーレイのスタイル機能でストロークの色などを変更できます。次のドロップを行うまで、それはすべてうまく機能します。
ドロップされた機能は、ランダムな順序で表示され、前のドロップの機能が散在しているように見えます。そのドロップ操作からどの機能が新しくなったかを判断する何らかの方法が必要です。これにより、既にスタイルを設定した機能に影響を与えることなくそれらの機能をスタイルできるようになります。
この機能から取得できる何らかの一意の識別子はありますか? 固有の ID を使用して機能にタグを付ける方法はありますか?
feature.getId() を試しましたが、ドラッグ アンド ドロップ イベントが発生した時点では未定義です。
javascript - openlayersでズーム時に画像のサイズが変更されないようにするにはどうすればよいですか?
これを実行すると、マップ上に 2 つのポイントが表示されますが、ズームすると画像が小さくなります。
画像のサイズを固定するにはどうすればよいですか? 以下はJavaScriptコードです。