タグ付けされた質問 「openlayers」

OpenLayers JavaScriptクライアントツールキットの使用しているバージョンが3以降の場合に使用します

7
GISCloudのようなレンダリングパフォーマンスでベクターポリゴンを作成しますか?
私は、ホバーイベントで各ポリゴンを異なる色で表示できるようにすることを目的に、そのようなデータを永遠にロードすることなく、Webマップを作成し、ベクトルポリゴンをオーバーレイできる堅牢なソリューションを探していました。 私の知る限り、キャンバス、SVG、Flashのいずれかでこれを達成するための3つの特定のオプションがあります。 Flashは、最速のレンダリングと最もクリーンな表示を提供するように思えるので、Apple iphone / ipadsで動作する場合、最良のソリューションになるようです。Canvasは2番目に最適な選択肢のように見えますが、マップ上に何百ものポリゴンが表示されている場合は非常に時間がかかりますが、SVGのレンダリングにはさらに時間がかかります。 私はほとんどこの問題の解決策を見つけることに希望を失ったが、今日、私はGISCloudという会社に出会いましたhttp://www.giscloud.com(現在は無料登録してベータ版)。 この会社は、SOMEHOWが地図上に数百のベクターをほぼリアルタイムでレンダリングする驚くべき方法を見つけ出しました。私は彼らのアプローチに驚き、コミュニティへの私の質問は、リーフレット、オープンレイヤー、ワックスなどの既存のテクノロジーで使用するために彼らのアプローチをどのように複製できるかに関するものです... この素晴らしいデモを見て、自分自身を見てみましょう:http : //www.giscloud.com/map/284/africa ページ上の任意のポリゴンにカーソルを合わせ、ズームコントロールをテストして、これらのポリゴンが実際にベクトルであることを確認してください。 firebugでリクエストを見ると、マップが特定のjsonファイルをリクエストしていることに気付きました。ズームレベル/エリアによっては、複数のjsonファイルが要求されているようです。 また、giscloudがページ上のデータを読み込むと、ベクター上にホバーすると、新しいリクエストを作成せずにすぐに色が変更されることをここで言及する必要があります。 例: http://cft1.giscloud.com/t/1316509973/map284/layer1156/3/3/3.json http://cft1.giscloud.com/t/1316509973/map284/layer1156/3/5/3.json http://cft1.giscloud.com/t/1316509973/map284/layer1156/3/4/4.json http://cft1.giscloud.com/t/1316509973/map284/layer1156/3/3/4.json http://cft1.giscloud.com/t/1316509973/map284/layer1156/3/5/4.json url構造は標準のタイルサービスロジック(たとえば、ズームレベルである3番目から最後のフォルダー)に従うと仮定しています。 いずれにせよ、これらのjsonファイルの実際のデータを分析しましたが、使用しているロジックは、これらのデータ値に基づいてベクターを作成する何らかのタイプのロジックに従っているようです。 幅/高さ:各JSON要求で提供されるデータの幅と高さを定義します ピクセル:ここでは、一般化されたポイントレベルの一般的なx / yピクセル座標に何らかの関係があると想定しているピクセル値を定義しますか?私は彼らが何らかの方法でズームレベルに応じて自動的に領域を単純化する方法を持っていると推測しています。私は、ピクセル座標を使用して、緯度/経度データと比較してロードする必要のあるデータのサイズを劇的に削減していると推測しています。 スタイル:ここでは、2つのRGB css値を定義します。「F」はポリゴンファイルの色を表し、「S」はポリゴンの境界線の色を表します。 geom:ここでは、マップコンテナウィンドウに基づいてデータが定義されている場所で、読み込まれているタイル内の各ポリゴンを明確に定義していると推測しています。また興味深いのは、各エントリがオプションの属性または機能リンク値として使用されると想定している「S」値を持ち、各エントリの最後に特定のベクトルごとのIDを定義するように見える領域があることです私が推測しているレイヤーIDは、呼び出されている各jsonタイルリクエストからのデータを何らかの形で結合するために利用されます。 また、要求されたタイルにロードする必要があるデータのサイズに応じて、各タイルにロードする必要があるデータを自動的に決定および分割する方法を何らかの方法で見つけたと想定しています。 以下は、これらのリクエストの内の1つを抽出した内訳です。 {"width":256,"height":256,"tile": {"pixels": [0,6461,-1,0,5,148,0,509,-1,10715,-1,1,-1,251,-1,1,-1,1,-1,251,-2,3,-1,255,-1,249,-2,5,-2,247,-1,509,-3,251,-1,2,-2,253,-2,252,-2,254,-1,255,-1,254,-1,255,-1,1276,-2,13,-1,233,-1,2,-1,253,-1,1,-1,255,-1,247,-1,1306,-1,1533,-1,1269,-1,1276,-1,2303,-1]}, "styles": [{"f":"rgb(99,230,101)","s":"rgb(5,148,0)","lw":"0"}], "geom": [ {"s":0,"p":[4,143,5,144,3,146,1,146,2,143,4,143],"c":"layer1156_5098"}, {"s":0,"p":[-2,143,0,140,2,141,2,144,1,146,-2,144,-2,143],"c":"layer1156_5067"}, {"s":0,"p":[7,143,5,144,4,143,2,143,2,141,5,138,6,139,5,141,7,143],"c":"layer1156_5051"}, {"s":0,"p":[10,141,11,137,12,137,14,137,12,142,9,143,9,142,10,141],"c":"layer1156_5041"}, {"s":0,"p":[1,136,0,140,-2,143,-2,136,1,136],"c":"layer1156_5038"}, {"s":0,"p":[8,143,5,141,5,137,8,136,10,137,10,141,8,143],"c":"layer1156_5033"}, {"s":0,"p":[5,137,2,141,0,140,1,136,1,136,2,135,3,136,5,137],"c":"layer1156_5028"}, {"s":0,"p":[10,134,12,136,11,138,8,135,10,134],"c":"layer1156_5020"}, {"s":0,"p":[-2,133,0,136,-2,136,-2,133],"c":"layer1156_5005"}, {...} ... ] …

6
OpenLayersベクターレイヤーのポイントフィーチャの最大数
あなたの経験では、OpenLayersベクターレイヤー(新しいOpenLayers.Layer.Vector( "ポイントレイヤー"))を使用できないほど遅くなる前に、いくつのポイントフィーチャを追加できますか? 私の使用例は、データベーステーブルからポイントを表示することです。ユーザーは、視覚化する時間枠を決定できます。したがって、結果はごく少数から潜在的に100,000ポイントになる可能性があります。妥当な制限を導入し、クエリがより多くの機能を返す場合はユーザーに警告したいと思います。

6
小さなWebマッピング/マップタイルサービスの作成
1つ以上のポリゴンシェープファイルをオンラインで(正確には、既存のマップサーバーインフラストラクチャのない地方自治体のWebサイトで)表示するための小規模で簡単な方法を探しています。現在、私はすべての作業をQGISで行っており、すべてのオープンソースを使い続けたいと考えています(大きなソフトウェア投資のための予算はありません)。 このトピックを研究した結果、圧倒的な数の可能なアプローチが生まれ、非常に混乱しました。私が探しているのは 分類されたポリゴンをテーママップに表示できる(-可能であれば、ポップアップを表示するか、属性情報を取得できると便利ですが、これは非常にオプションです) QGISでほとんどの作業(スタイリングなど)を行うことを好む 基本マップとしてのOSMは完全に問題ありません これまでのところ、OSMベースマップ上のカスタムマップタイルは私が探しているもののように見えます(またはより良い解決策がありますか?)これらのタイルを作成する最良の方法は何でしょうか?

7
OpenLayersでPostGISベクターを表示するためのオプション
Webマッピングは初めてなので、この質問は少し見当違いかもしれません。 現在、PostGISにある多くのポイントテーブルとポリゴンテーブルを表示できる、OpenLayers(または、もっと簡単な場合はGoogleマップ)を使用した非常にシンプルなWebインターフェイスが必要です。 私はこれをできるだけシンプルに(そして保守性を低く)したいです: タイルを作成する必要はありません(非常に正当な理由がない限り)、またはミドルウェアの大規模で複雑なレイヤーは必要ありません。 パフォーマンスは驚異的である必要はありません。これは内部で使用するためであり、数人の同時ユーザーを超えて拡張する必要はありません。 ベクターレイヤーのスタイル設定の重要性は最小限です。 これには予算がほとんどないので、オープンソースのツールが非常に好まれます。 これに推奨されるアプローチは何ですか?


1
ol3のベクターレイヤーに手動で機能を追加する
JavaScriptを使用してベクターレイヤーに手動でレイヤーを追加しようとしています。私はこれが失敗している理由を判断できないようです: http://jsfiddle.net/Kieveli/f4t6n6v1/4/ 私は、16,22のような健全な座標と、ビューのxy値に一致する大きな座標を試しました。ol3からjavascriptエラーが表示されます。TypeError:bQは関数ではありません。 HTML: <div id="map" class="map"></div> Javascript: var vectorSource = new ol.source.Vector({}); var map = new ol.Map({ layers: [ new ol.layer.Tile({ source: new ol.source.MapQuest({layer: 'sat'}) }), new ol.layer.Vector({ source: vectorSource }) ], target: 'map', view: new ol.View({ center: [-11000000, 4600000], zoom: 4 }) }); var thing = new ol.geom.Polygon( …

4
Openlayers 3最大エクステント
ユーザーがマップ上でパンできる場所を制限したいのですが、OpenLayers 3でマップビューの最大範囲を設定する方法を説明するリソースが見つからないようです。OpenLayers2には解決策がありました。新しいバージョンでは可能ですか?

1
OpenLayers 3でWMSレイヤーの自動更新を一時停止しますか?
サーバーからWMSタイルを取得する前に、HTTPリクエスト(一部のマップ変換を処理する)を実行する必要があるアプリケーションがあります。 マップをドラッグした後にTileWMSの自動更新を一時停止する方法はありますか? 非表示の設定またはレイヤーの削除と追加は機能しますが、HTTPリクエストの実行中にレイヤーが消えないようにします。私も試しましたsetUrl('')が、レイヤーも消えます。 また、OpenLayersのソースコードを読み取って、リクエストを実行する前にチェックするプロパティを定義しようとしましたが、リクエストが行われたコードで見つけることができませんでした。
14 wms  openlayers 

1
OpenLayers 3でズームするときに機能のサイズを変更し、スケーリングしないようにする方法
マップとして画像を使用して、カスタムOpenLayers 3マップ(近隣で販売されている家を表示するために使用)を初期化しました。 次に、家ごとに追加のフィーチャとレイヤーを動的に作成します(各フィーチャのアンカーはその画像の中央に設定されます)。 size機能を初期化するときにプロパティを使用しようとしましたが、それはサイズを変更する代わりに画像をトリミングします。 resizeOL2のどこかでレイヤーの関数を見たことがあると思いますが、OL3で見つけることができません...その種の関数は、私が望む結果を達成するでしょうか? また、マップからズームアウトすると機能が大きく拡大しすぎ、拡大すると小さすぎると縮小するという問題もあります。機能の座標を指定してから、目に見えない余白/パディングを行って、大きすぎたり小さすぎたりしないようにする方法がありますか? 機能の実際の動作は次のとおりです(ここに表示されている機能は黒い家です) 。-次:完璧なサイズ。ズームアウトすると家はずっと小さくなります(最初の写真を参照)。-この最後の写真で再び縮小するのではなく、家を大きくしておくべきです。。
14 openlayers 

3
OpenLayers 3ビューセンターの変更
OpenLayers 3を使用して、いくつかのマップを操作しています。最初にマップを宣言します: map = new ol.Map({ target: 'map', layers: [ new ol.layer.Tile({ source: new ol.source.OSM() }) ], view: new ol.View({ center: [0, 0], zoom: 2 }) }); マップのビューセンターを変更するアクションをトリガーするイベントがあります。このように、(私の座標はEPSG:4326形式です): function CenterMap(lat, long) { console.log("Lat: " + lat + " Long: " + long); map.setView(new ol.View({ center: ol.proj.transform([lat, long], 'EPSG:3857', 'EPSG:4326'), zoom: …

4
OpenLayers3にLayerSwitcherがありませんか?
LayerSwitcherOpenLayers 3にコントロールがあるかどうか疑問に思っていましたか? ol3は完全に書き直されていると読みました。しかしLayerSwitcher、http://openlayers.org/en/latest/apidoc/ol.control.htmlから同等のものを見つけることができないようです。この制御なしにレイヤーをオン/オフする方法はわかりません。されてLayerSwitcher行方不明、何か他のものに名前を変更したり、不完全なドキュメントですか? OpenLayers3にがない場合LayerSwitcher、古いLayerSwitcherのようなカスタムコントロールを実装する例を知っていますか?

5
OpenLayers 3のZ-index 3:OL3でのレイヤーの順序付け
古いバージョンのようにOpenLayers3のレイヤーのZ-indexを変更する方法はありますか? map.setLayerIndex(markers, 99); //set the marker layer to an arbitrarily high layer index マップを使用して、レイヤーの順序を変更する必要があります。したがって、このようなz-indexを定義するような可能性は役に立たない var geoLayer = new ol.layer.Vector({ source : new ol.source.GeoJSON({ projection : 'EPSG:900913', url : './myGeoJson.json' }), style : function(feature, resolution) { var text = resolution < 5000 ? feature.get('name') : ''; if (!styleCache[text]) { styleCache[text] = …


1
OL3の破線?
私が知っているOL3(OpenLayersを3)に動作していないラインダッシュ以前に頼まれたのが、提案された解決策は機能していません。 私のコードは次のとおりです。 var calculateStyle= new ol.style.Style({ fill: new ol.style.Fill({ color: [255, 255, 255, 0.6], opacity: 0.3 }), stroke: new ol.style.Stroke({ color: [0, 153, 255, 1], linedash: [40,40], width: 3 }) }); 私は両方を試してみました[4,4]し、[40,40]リンク質問で提案されています。しかし、それは機能していません。

4
インターネットでGeoServer + Openlayers Webマッピングアプリケーションをホストしていますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 GeoServer(Tomcatをサーブレットとして実行)、Openlayers、PostGISを使用して、Webマッピングアプリケーションのプロトタイプを作成しました。プロトタイプだったので、当時は、ホスティングの面については気にしませんでした。それは私の(ラップトップ)ローカルホストで正常に動作していました:8080。 今、私の仕事の一環として、私は同様のアプリケーションを開発することを求められていますが、今回はウェブ上で行かなければなりません。私が働いている代理店はウェブサイトを運営していますが、ウェブサイトとは別個にホストされる独自の独立したものにしたいのです。 これらは私の質問です: 代理店のイントラネット外の人や、私の場合はローカルホスト以外の人もアクセスできるように、ウェブ上でウェブマッピングアプリケーションをホストするために従うべき手順/オプションは何ですか?(私はローカルホスト経由でのみ機能しアクセスできるものを持っていると考えており、今では他の誰かが自分のマシンでもそれにアクセスしたい) もしそうなら、どうすればこれを実装できますか?代理店が将来、ウェブサイトの一部としてそれを使用することにした場合。 ここで何らかの関連性のある投稿と回答を読みましたが、混乱しているので、誰かが私の特定のクエリに回答するのを手伝ってくれることを望んでいます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.