問題タブ [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.
map - OpenLayers プロジェクション
私はうまくやることができます:
Google形式(メートル単位)のポイントまでですが、逆にしたい場合:
4326 (通常の緯度/経度形式) になると、いくつかの問題が発生します。
変換を行うと、負の値はすべて NaN (数値ではない) になるようです。私が理解していない逆変換について何かありますか?
編集:さらに悪いことに、負の値がない場合、座標がずれているように見えます。画面に正方形を描画して座標を取得し、それらの座標をデータベースに保存して後でロードします。アフリカの先端 (正の座標) の近くに正方形を描くことができ、それがロードされると、大西洋のアフリカの上部近くになります。絶対に悪いことをしている……。
編集: これが私のコードです: http://pastie.org/911524
具体的には、これがマップを初期化する方法です。
routing - TransportationWebApp-グーグルまたはビングマップAPIを利用
ジオコーディングされた「PICKUP」の場所を格納するテーブルを備えたMSSQLデータベースがあり、ユーザーが選択した検索フィルターに応じて、最終的に表示する場合と表示しない場合があります。これらは、実店舗の場所のように静的ではありません。これらは、アプリケーションユーザーによって1日24時間追加されます。「ロード」の寿命は24時間未満です。それが拾われると、荷物はテーブルから取り除かれます。「LOAD」は、特定のLATおよびLONGとともに、いくつかの基本的な人口統計の詳細とともに表に定義されています。
OpenStreetMapsを使用して、ベースマップと州間/道路情報を提供することを計画しています。OpenLayersを使用してWebアプリに地図を表示することを計画しています。
トラック運転手は、主要な州間高速道路を「航路」と呼ぶことがよくあります。ですから、ユーザーが移動する「SHIPPINGLANE」に沿った「LOADS」を検索できるようにしたいと思います。たとえば、I-95。
したがって、ユーザーが検索フィルターとしてI-95「ShippingLane」を選択した場合、次の条件を満たす「LOADS」のみをマップに表示する必要があります。
- 「LOAD」は、定義された航路に沿っています。
- 「荷物」は、航路の特定の近くにあります(たとえば、荷物はバージニア州リッチモンドのI-95から3マイル離れた場所にあります)。理想的には、これは、どこかの高速道路に沿ってランダムにではなく、実際の州間高速道路の出口に基づいているでしょう。
これはすべて私を2つの質問に導きます...
Q1:ユーザーがデータベースに「LOAD」を投稿するとき、LATとLONGを何か(?)でバウンスして、どの「Shipping Lanes」(州間高速道路が互いに交差する場所に依存するよりも多い可能性があります)を決定するのですか?(これは検索時にも実行できますが、そのように実行できない場合を除いて、事前にこれを定義するための処理を節約できると思います。)
Q2:「LOAD」が特定の「ShippingLane」からXマイル離れた場所にあるかどうかはどうすればわかりますか?
javascript - 複数のマーカーのレイヤーを開く複数のマウスオーバーイベント
関数init()内に次のループがあります。これは「onload」で実行され、マーカーごとにマウスオーバーイベントをアタッチするのに問題があります。アラートiは常に最後のループ/反復(228)の値を返しますか?
javascript - OpenLayers マップの投影を変更する
OpenLayers マップの射影として「EPSG:4326」を設定したいのですが、実行しようとすると常に「EPSG:900913」になります。
ベースマップはオープンストリートマップ。
プロジェクションを EPSG:4326 に設定するにはどうすればよいですか?
flash - openlayers、SVG、フラッシュアプリ
htmlページのopenlayersタイルの上にSVGレイヤー(ポリゴン)を表示したいのですが、あるいは、SVGをフラッシュにロードして、OLタイルもフラッシュにレンダリングしたいと思います。
これらのアイデアのいずれか/いずれかはまったく可能ですか?
前もって感謝します
javascript - インタラクティブな世界地図、マウスオーバーで国を強調表示
サイトのフロントページにインタラクティブな世界地図を作成する必要があります。ビューポータルは約650x200ピクセルになります。双方向性には次のものが含まれます。国にマウスを合わせると、その国が強調表示され(たとえば、国は文字通り「赤」で塗りつぶされます)、国の名前(できればdiv内のテキスト)が表示されます。また、リンクします。選択すると国を強調表示する強調表示イベント。
適切な解決策を見つけるのに苦労しています。フラッシュなどの独自技術を使用または学習することを拒否しているため、オプションではありません。openlayersとカスタムマップイメージを使用して単純なモックアップを作成しましたが、IE6では国のマーカーの読み込みが遅すぎます。
また、RaphaelJSを使おうとしたため、svgが大きすぎるように見えましたが、世界地図のデータが1.2 MBであり、サイトのフロントページにはまったく受け入れられないことに気付いたときにそれを放棄しました。
私はこれをどのように行うのか本当に途方に暮れています、私の最後の手段は手動で250以上(国はいくつもあります)のpngを作成し、画像のホットスポットにマウスオーバーイベントを適用することです...しかしこれはおそらく行き止まりにもなります。必死に解決策を探しています。役立つコメントをいただければ幸いです。
mapping - MapServer/OpenLayersの良い例
一部のクライアントにMapServerとOpenLayersを使用するように説得したいと思います。誰もが可能性を誇示するために 魅力的なウェブサイトを提案できますか?
クライアントは次のことに感銘を受けます。
- 密度マップ(ヒートマップ、色付きグリッドカバレッジ、等高線図などとも呼ばれます)。
- ユーザーが密度マップの基礎となるデータをダウンロードする機能。netCDFなどの形式で、表示されている領域に限定されます。
- 標準のOpenLayersのもの。ズーム、パン、スケールバー、概要マップ...
- 異なるベースレイヤー。WMS、Google、Bingなどの可能性があります...
- 地名を検索すると、地図がパンされて場所が表示されます。
- 他の人がマッシュアップでWMSまたはWCSとして使用できるようにヒートマップデータを公開する
MapServer.orgはバックアップされていますが、demo.mapserver.orgは現在ダウンしているようです:(しかし、メモリから、それらの例には「すごい」要素がありませんでした。OpenLayersの例は、例ごとに1つまたは2つの機能しか示していません。 1つの例ですべての機能を示すことにより、クライアントを驚かせます。
PS他のオープンソースツールを使用した良い例がある場合は、ぜひ投稿してください。ただし、JavaScriptだけをお願いします。顧客はリッチクライアントはないと言っています。
編集StackOverflowに来てください、誰かが密度マップを使用する例を持っている必要がありますか?私は今でも賞金を提供しています...
javascript - JavaScriptを使用してOpenLayersで線でパスを描画する
ここに示した線の描画方法の例を見てきましたが、これらの例は、マウスをクリックして描画する方法のみを示しています。
私がやりたいのは、経度と緯度の座標のリストを指定して、JavaScriptを使用して手動で線を引くことです。
上記のリンクで提供されているソースで作業できない理由はactivate
、機能を呼び出しているだけなので、ユーザーが地図をポイントしてクリックできるようにするためです。
誰かがプログラムでOpenLayersマップにパスを描いたことがありますか?
私がやりたいのはまさにこれです:http://openspace.ordnancesurvey.co.uk/openspace/example4.html、ただしOpenSpaceは使用しません。
coding-style - OpenLayersスタイルの問題
ですから、常に明るいオレンジ色のデフォルトの正多角形を見るのにうんざりして、OpenLayersのスタイルを学ぼうとしています。
私はいくつかの成功を収めました:
しかし、DrawFeatureを使用してポリゴンを描画しているのですが、私のスタイルは描画が終了した後にのみ有効になり、明るいオレンジ色から灰色にスナップするのを見るのはちょっと戸惑います。それで、私は一時的なスタイルについて学び、試しました:
これにより、まだオレンジ色の正方形になりました。描画を停止するまで、完全に不透明な黒にスナップしました。たぶん、fillOpacityを明示的に設定する必要があると思いました...サイコロはありません。両方の塗りつぶしの色をそれぞれピンクと青に変更しても、オレンジと不透明な黒しか見えませんでした。
スタイルマップをいじってみました。スタイルマップにスタイルを1つだけ追加すると、一時的なスタイルを含むすべてにデフォルトのスタイルが使用されることを読みました。
それは私にも黒い不透明な正方形を手に入れました。(そのレイヤースタイルは、マップに指定されていない場合でも機能します)。次のように、マップをレイヤー自体に渡します。
何も得られなかった。描いた後もずっとオレンジ。
はるかに成功しています:描画中はオレンジ、描画中は黒の輪郭を持つ半透明の黒。地図を使わなかったときと同じように。問題は、まだ一時的なものではありません...
そこで、次のようにマップを初期化してみました。
不透明な正方形はありませんが、一時的なサイコロもありません...それでもオレンジは黒の透明にスナップします。新しいスタイル(layer_style2)を作成し、それに一時的に設定しても、運がありません。また、「選択」スタイルを設定しても運がありません。
私は何が間違っているのですか?現在スケッチされているものをスタイリングするための一時的なISですよね?drawFeatureコントローラーに固有の方法は他にありますか?
編集:extendDefaultをtrueに設定しても、役に立たないようです...
javascript - OpenLayers、Bing、および KML
OpenLayers で VirtualEarth マップ上に KML を配置しようとしていますが、うまくいきません。私はそれが投影と何かでなければならないと思います。
誰か?ありがとうございました。