問題タブ [openlayers]
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.
postgis - OpenStreetMap のように地図を表示する
OpenStreetMap の地図の表示方法が気に入っています。ほぼGoogleマップのようです。ノートブックには既に GeoServer と PostGis をインストールしています。私はまた、私の国、インドネシア用のこのクラウドメイドの osm ファイルも入手しました。indonesia.osm.bz2 をダウンロードしました。
PostGis に正常にインポートし、GeoServer にセットアップしましたが、OpenStreetMap のようにマップを表示しませんでした。GeoServer のレイヤーとして、planet_osm_polygon を選択しました。最後にこれをopenlayersで表示させました。 代替テキスト http://deerawan.com/blogimages/map_polygon.jpg
しかし、私はこの代替テキストのようになると思っていました http://deerawan.com/blogimages/map-indo.png
Cloudmade から使用した OSM ファイルが間違っていたのでしょうか?
ご協力ありがとうございました。
openlayers - Layer.TextとLayer.Vector。パフォーマンスに関する質問
これはすべてのブラウザで非常に高速です。
ただし、次のコードはFirefoxとChromeでは高速ですが、IE8では非常に低速です(500の機能の読み込みには30分かかります!):
いくつかの理由で私は使用したいのですOpenLayers.Layer.Vector
が、IEのパフォーマンスの問題のために使用できません。
誰かが良い解決策を知っていますか?最後に、カスタマイズ可能なポップアップを備えた多くのクリック可能なポイント機能をマップにロードする必要があります。
javascript - CloudMadeマーカーオーバーレイ-Z-Indexを制御できますか?
CloudMade APIには、マーカーオーバーレイ(egicons)のz-orderまたはz-indexを制御する機能がありますか?
私は以前にGoogleマップでこれを使用して、重要度の高い特定のアイコンを重要度の低い他のアイコンの上に描画するようにしました(特に、それらが一緒になる可能性のある一部のズームレベルで)。
Google Maps GMarkerには、これを処理するためのzIndexProcessオプションがあります。CloudMadeにこの機能があるかどうか誰かが知っていますか?APIドキュメントを調べましたが、何も見つかりませんでした。または、ここの誰かが、1つのマーカー(またはメーカーのグループ)が他のレイヤーの上に描画されることを保証するアドホックな方法を持っている可能性がありますか?
javascript - javascriptを使用してbingマップにwmsレイヤーを追加する方法は?
javascriptを使用してwmsレイヤーをBingMapに追加するにはどうすればよいですか?誰かが良い例を知っていますか?
javascript - OpenLayers-Mapの標準コントロールを削除するにはどうすればよいですか?
OpenLayersを使用していて、左上に別のナビゲーションコントロールを作成したいと思います。コントロールを追加する方法は知っていますが、このナビゲーションは、OpenLayers-Mapの作成中にデフォルトで追加されます。そのため、そのコントロールを削除して、独自のコントロールを追加します。default-controlがOpenLayers.Control.PanZoomであることはすでに知っています。
geometry - OpenLayers で表示するための任意の湾曲した Well Known Text LineString の作成
OpenLayers での表示用に生成されたマップ レイヤー内のポイント間に WKT LineString を動的に生成しています。ポイント間の線を曲線にしたいのですが、さまざまな入力変数に基づいて曲率を動的に変更できるようにしたいと考えています。
これはネットワーク監視アプリ用であり、ポイント間の遅延時間に基づいて曲率を設定したいと考えています (生の遅延自体ではなく、特定の期間中の「通常の」値からの偏差)。
一部の GIS アプリとデータベースCircularString
は WKT の拡張機能をサポートしていますが、OpenLayers はそれについて何も知りません。
したがって、線分から曲線を生成する必要があります。
現在、行の文字列は次のようになっています。
線分を「湾曲」させる唯一の方法は、中間点を挿入することです。
これは私たちのアプリケーションには完全に適しているはずですが、中間点を生成する方法がわかりません!
2次元平面の線分から「曲がった」線を生成するためのよく知られた方法/アルゴリズムがあると思います。これを達成する方法、または役立つ可能性のある本/記事/オンラインリソースに関するアイデアはありますか?
更新 (2010-08-13):
ベジエ曲線がチケットであり、基本的なベジエ アルゴリズムの実装は、それを読んだ後は非常に簡単でした。しかし、制御点を生成するためにいくつかのコードを書かなければなりませんでした。これが私が思いついたPHPコードです。x
これは、メンバーを持つ「Vector2d」クラスを想定していy
ます。
php - KMLファイルをデータベースにアップロードし、OpenLayersマップに表示します
私は自分のワードプレスサイトで簡単なフォームを作成して、人々がKMLファイルをアップロードできるようにしたいのです。KMLファイルはデータベースに保存され、ルートはopenlayersマップ(openstreetmap)に表示されます。
このプロジェクトは、ハイキングルートを保存するためのハイキングサイト用です。
this/フォーラム/アドバイスのドキュメント。私はこの地図にまったく慣れていません。
乾杯
アンディ
javascript - jsでevent.targetの下の要素を決定する
OpenLayers マップで現在マウスがホバーしているタイルを特定しようとしています。現在書かれているコード (標準の Hover ハンドラーを使用し、単純にイベントを送り返すコード) は Chrome では機能しますが、Firefox では失敗します。これは、SVG 要素がタイルとマウスの間にあるためです。VML を使用した IE でも同様のことが起こる可能性があると確信しています。
問題は、その要素が現在そのリクエストのターゲットである別の要素によって「ブロック」されている場合、マウスが上にある要素をどのように判断するのでしょうか? trigger()
または、別の divを使用してイベントを「再実行」し、新しいターゲットを取得して同じことをシミュレートすることは可能ですか? そうしないと、OpenLayers を使用して特定のピクセル座標にある画像を特定することは困難で非効率的です。
javascript - 異なる投影法のベース マップを切り替えるときにベクター レイヤーを再投影する方法
MetaCarta (EPSG:4326) と Google マップ (Mercator) の 2 つの基本レイヤーを持つ OpenLayers マップがあります。sphericMercator = false、単位は度です。マップ上には、いくつかのマーカー、ボックス、およびベクター データもあります。
ベース レイヤー (投影法が異なる) を切り替えると、単純なジオメトリ (マーカーやボックスなど) が自動的に再投影され、正しく表示されます。ただし、ベクター レイヤー (ポリライン) はシフトされるだけで、再投影されません。ベースレイヤーのプロジェクションが変更されたときにOpenLayersがこれを自動的に行うように、ある種の「再構築」関数を呼び出すか、パラメーターを追加する必要があると思います。しかし、これを行う方法がわかりません。
Spherical Mercator ( http://docs.openlayers.org/library/spherical_mercator.html )について読み、OpenLayers の例を調べましたが、解決策が見つかりませんでした。
私のコードの一部は以下のとおりです (vector.json のすべての座標は度単位です):
javascript - 境界を制限せずに、OpenLayers でデフォルト ビューを設定する方法は?
サンプルに基づいて、次の行に沿って何かを言うことで、OpenLayers でデフォルト ビューを設定できることがわかります。
ただし、これも(名前が示すように)これらの境界内でのみナビゲートできるように制限します。ズームアウトしてこれらの境界の外にあるものを見ることはできますが、それらにズームインしたりスクロールしたりすることはできません。
私はrestrictedExtentを持たないようにしようとしました(またはそれをマップ全体にしようとしました)が、それから私が望む領域に焦点を合わせることができません. 私は使用してみました:
ズームと中心を設定するには...しかし、map.getCenter()から読み取ることができる変数「center」を設定する以外は何もしていないようです(設定しない場合はnullです) 、設定すれば見えますが、マップ自体は伸びきったままで、中心はまったく変わっていないようです...)
私が使用しているマップレイヤーは次のとおりです。
displayOutsideMaxExtent を true に設定すると...ここで本当に途方に暮れています。
私の目標は、世界の既定の地域 (米国など) をズームインして表示することです。視聴者は既定の外に出て物事を見ることができます。