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

OpenLayers JavaScriptクライアントツールキットのバージョン2.xを使用している場合は、このタグを使用します。

6
ST_Intersectionの使用方法
ここに私がやろうとしていることについての簡単な要約があります:Postgresには、「a」と「b」の3つのテーブルがあり、それぞれにPolygon列があり、「c」にPoint列があります。ここでやろうとしているのは、「a」、「b」、「c」の間のジオメトリの交差を取得し、そのようなジオメトリをOpenLayersベクターレイヤーに表示することです。 OpenLayersでStringの任意の種類のジオメトリを表示する方法は既に知っていますが、PostGISのST_Intersection関数で問題が発生しています。これを実行しています。 SELECT ST_Intersection(a.geom, b.geom) as inter from a, b; ここで、a.geomとb.geomは両方ともジオメトリ列であり、次のエラーメッセージが表示されます。 NOTICE: TopologyException: found non-noded intersection between 515172 2.14408e+06, 497067 2.13373e+06 and 501321 2.13546e+06, 471202 2.14843e+06 500621 2.13576e+06 ERROR: GEOS Intersection() threw an error! また、次のようなST_AsTextを使用して、結果のジオメトリをテキストとして表現しようとしました。 SELECT ST_AsText(ST_Intersection(a.geom, b.geom)) as inter from a, b; しかし、それは私にこのエラーメッセージを送信します: HINT: No function matches the given …

2
円半径に測地線測定を使用していますか?
現在、OpenLayersマッピングサイトを開発しています。測定は、ラインツールとエリアツールを使用して行うことができます。現在、これらの両方は、OpenLayers APIで概説されている測地線測定値を計算するように設定されています。 ユーザーのテスト中に、人々がツールの測定値に既に知っている距離(町間の運転など)を疑問視したため、平面測定ではなく測地線測定を使用します。 サイトの新機能は、ユーザーが設定された半径の地図上に円を描くことができることです。OpenLayersでは、平面距離を使用した円の描画のみが許可されているため、ユーザーが測地線測定ツールで円を測定すると、値が一致しません。下の画像では、円の平面半径は10kmですが、直径の測地線の測定値は12kmです。 これにより、ユーザー(と私)はどちらが正しいのか疑問に思うようになります。 この答えを見ると、ほとんどのデスクトップGISシステムはこの問題を「無視」し、平面測定値と距離を返しているようです。では、平面および測地線の測定を処理するためのユーザーインターフェイスと精度の観点から、ベストプラクティスは何でしょうか。 更新 半径とメルカトル図法の問題を示すこのGoogleの例を見つけました。 http://maps.forum.nu/gm_sensitive_circle2.html 円を描くJavaScriptコードは次のとおりです。 var lat1 = (PI/180)* center.lat(); // radians var lng1 = (PI/180)* center.lng(); // radians for (var a = 0 ; a < 361 ; a++ ) { var tc = (PI/180)*a; var y = asin(sin(lat1)*cos(d)+cos(lat1)*sin(d)*cos(tc)); var dlng = atan2(sin(tc)*sin(d)*cos(lat1),cos(d)-sin(lat1)*sin(y)); var …

6
OpenLayersでベク​​ターフィーチャ/レイヤーのクリックの座標を取得するにはどうすればよいですか?
ユーザーがOpenLayersマップ上のベクターフィーチャーをクリックしたときのクリックの座標を取得する必要があります。SelectControlは、クリックされた機能のみを提供し、クリックの座標は提供しません。とにかく、ベクトルのクリックの座標を取得するには?ユーザーがクリックした時点でAnchoredBubbleを表示する必要があります。

4
GoogleのStreetViewエンジンに代わるオープンソースの選択肢をお探しですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 4か月前に閉鎖されました。 この質問の答えはコミュニティの努力です。この投稿を改善するには、既存の回答を編集してください。現在、新しい回答やインタラクションを受け入れていません。 LeafletまたはOpenLayersのいずれかを使用して、オープンソースのjavascriptアプリを作成したいと考えています。 これらのいずれか、または他のオープンAPIにパノラマビュー(GoogleのStreetViewと同様)を実装する方法はありますか? 私のパノラマビューは個人の写真からカスタム作成されるため、既存のサービスからパノラマ画像を取得する必要はありません。 Google StreetViewをGoogle以外のアプリに組み込むことは可能ですが、Google APIを使用せずに同様の機能を提供できるものはありますか?

1
OpenLayersの重複する機能に対処する
このように、ユーザーが別のポリゴンフィーチャと完全にオーバーラップするポリゴンフィーチャを作成した場合、… …内側のフィーチャ、つまり他のフィーチャとオーバーラップしているフィーチャを選択する方法はありません。私は現在、SelectFeatureこのような単純なものを使用しています: var select = new OpenLayers.Control.SelectFeature( [this.annotationLayer, this.controlPointsLayer], { hover: true, renderIntent: "temporary" } ); this.map.addControl(select); select.activate(); しかし、明らかに、外側の機能を選択することしかできません。これに対処する典型的な方法は何ですか?ユーザーが内部機能も選択できるようにするにはどうすればよいですか? おそらく最も簡単な解決策は、内側の特徴を差し引くときに残された領域内でのみ外側の特徴を選択可能にすることでしょう。

2
より多くのクライアント側機能をサポートするOpenLayersの代替案[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 2年前に閉店。 ポイント機能にクライアント側のレンダリングを理想的に使用し、プラグインが不要なシステムのさまざまなアーキテクチャを検討しています。私はこの質問に答えて開発したこのアプリケーションを使用して、OpenLayersと500で著しく遅れており、1,000を超える苦労を始めています。ランダムに生成された機能にはイベントハンドラーはないようで、すべて同じシンボル体系を使用しています。 私は、最大1,000個の機能、最大10個の異なるシンボル、すべてクリックハンドラーとマウスオーバーハンドラー、および性能の低いプラットフォームを表示する予定です。 特にこのGIS Cloudの例を見て、クライアント側のパフォーマンスが向上することを期待していました-動作が異なることはわかっています(HTML5キャンバスとSVG)が、パフォーマンスの違いは非常に顕著です。 私の主要な質問(あなたがとても親切なら)は: ランダムポイント生成アプリケーションは、作成/使用した他のOpenLayersアプリケーションのパフォーマンスを代表していますか? WMSサービス(これを使用する必要があります)をサポートし、Flash / Silverlight /その他のプラグインを使用せずにクライアント側の機能で高速化する、実績のある無料の代替WebマッピングAPIはありますか? 私が調査すべきことに関する他の提案はありますか? 主にサーバー側のレンダリングに依存することはオプションですが、ユーザー数の拡大とUIの応答性に関する懸念から、私もクライアントもこれを回避したいと考えています。

4
OpenLayers:SLDファイルでWFSレイヤーをスタイルする方法は?
Win 2008 ServerのPostGIS / GeoServer / OpenLayersスタック上に構築された単純なWebマッピングサービスを試しています。 以下を使用してPostGISからベクターレイヤーをオーバーレイします。 var Index1v = new OpenLayers.Layer.Vector("Index1 v", { strategies: [new OpenLayers.Strategy.BBOX()], protocol: new OpenLayers.Protocol.WFS({ version: "1.1.0", url: "http://localhost:1979/geoserver/wfs", featureType: "bern_poly_s100", featureNS: "http://www.ispm.ch", srsName: "EPSG:900913" }) }); レイヤーは正しく表示されますが、GeoServerのプレーン[default]スタイルで表示されます。 uDigを使用してSLDスタイルのファイルビルドを作成しましたが、WMSサービスが問題なく使用しているため、正しいようです。WFSレイヤーのスタイル設定にも使用できますか?

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: …

2
OpenLayers 2.12およびhttp基本認証の問題
OpenLayers 2.12を使用して、HTTP基本認証が有効になっているサーバーからWMSレイヤーを表示しようとしています。 JavaScriptコードのURLパラメーターにユーザー名とパスワードを入力して、認証を処理しようとしました。レイヤー作成の例: myLayer = new OpenLayers.Layer.WMS('background', 'https://username:password@ws.nls.fi/rasteriaineistot/image?', { layers: 'background', bbox: '-380188,6249943,1347312,8226943' }, { displayInLayerSwitcher: true, isBaseLayer: false, projection: 'EPSG:3067', visibility: true }); もちろん、資格情報はJavaScriptコードに保存され、すべてのブラウザーで機能するわけではないため、これは安全ではありません。Internet Explorer 8では、OpenLayers.jsを指すセキュリティエラーが発生し、マップの表示は一切拒否されます。Firefox 13は、キャンセルできる認証ダイアログをポップアップ表示します(その後、マップが正しく表示されます)。Chrome 23では、認証は問題なく動作するようです。 HTTPベーシック認証をURLでエンコードし、例のようにOpenLayersに渡すことで、クロスブラウザー方式でHTTP基本認証を処理できないことを確認できますか? HTTP基本認証を処理してユーザーに透過的に機能する(認証ポップアップが表示されない)別の方法を提案できますか?この問題を回避するには、おそらく何らかの種類のプロキシサーバーを使用してください。

4
OpenLayers 2でGoogleレイヤーに緯度/経度ポイントをオーバーレイする方法は?
OpenLayersのGoogleレイヤーの上に緯度/経度でベクターポイントを追加するのが面倒です。地図をパンすると、ポイントが移動します。GoogleレイヤーをWGS84のレイヤーに置き換えても、これは起こりません。どうすれば修正できますか? map = new OpenLayers.Map('map'); map.addControl(new OpenLayers.Control.LayerSwitcher()); var gmap = new OpenLayers.Layer.Google( "Google Streets", {numZoomLevels: 20} ); var pointLayer = new OpenLayers.Layer.Vector("Point Layer"); map.addLayers([gmap,pointLayer]); map.setCenter(new OpenLayers.LonLat(16.373056, 48.208333), 5); var point = new OpenLayers.Geometry.Point(16.373056, 48.208333); var pointFeature = new OpenLayers.Feature.Vector(point,null,null); pointLayer.addFeatures([pointFeature]); 私はhttp://docs.openlayers.org/library/spherical_mercator.htmlをフォローしようとしましたが、成功しませんでした。

2
ユーザーがズームインしてOpenLayersでマップするときにベースレイヤーを切り替えますか?
ペンシルベニア州の画像にOpen Street Mapデータをオーバーレイする地図があります。道路のベースレイヤー(最終的には他のレイヤー)として、Blue Marble NGとUSGS EROS 1ftの2つのベースレイヤーがあります。これらの2つのレイヤーを、ユーザーがズームインすると自動的に切り替わる単一のベースマップオブジェクトに結合できるようにしたいと思います。なぜなら、ズームインすると、州全体の1フィートの画像やブルーマーブルの画像を表示する意味がないからです。 2つの異なるサイトから画像を取得しているので、理想的にはクライアント側でこれを行いたいと思います。

9
国際日付変更線の折り返し
OpenLayersを使用して、特定の日付内にラテンアメリカの国々に配置されたポリゴン(黄色)と交差するすべてのフィーチャ(黒)を返すフィルターを備えたWFSレイヤー(GeoServer上)を追加しました。 ただし、マップ上で水平に交差するフィーチャは、実際にはポリゴンと交差しません。この機能は、ラテンアメリカではなく、ハワイとフィジーの間の太平洋のどこかにあります。問題は、国際日付変更線を越える代わりに、全世界を包むことで地図上にレンダリングされることです。 problamatic機能が定義されています: POLYGON((-179.700417 14.202717、-178.687422 13.992875,179.024138 8.24716、-179.98241 8.035567、-179.700417 14.202717)) このような問題の多い日付変更機能が多数ありますが、この例ではこれに絞り込みました。私はそれらの多くを持っているので、私はちょうど私のアプリケーションでそれを無視することはできません。 ベースレイヤーとWFSレイヤーで「wrapDateLine:true」を使用して同じ結果を得ようとしました。 これがGeoServerの問題なのか、OpenLayersの問題なのかはわかりません。 私の国際日付変更線の問題の解決策を知っている人はいますか?

5
OpenLayersのチュートリアル?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 3年前に閉店しました。 多くのラスターレイヤーを表示するWebマップを作成する必要があります。私はmapserverを使用していて、Openlayersを使用したいのですが、それについての良いチュートリアルが見つかりません。良いドキュメントがなかったという古い質問(1と2)がいくつかあります。最近物事は変わりましたか? コードと結果の写真/例の良い説明で基本からかなり複雑なものまでを教えるチュートリアルを見つけたいです。今のところ、.mapファイルを使用して最も簡単なWebマップのみを実行できましたが、カスタマイズする必要があります(凡例の追加、レイヤーのグループ化、コントロールの追加、埋め込みなど)。

2
OpenLayersでCORSを有効にする
OpenLayersでクロスオリジンリソースシェアリング(CORS)を有効にすることは可能ですか?もしそうなら、どのように? OpenLayersにWebマップがあり、HTMLキャンバスを使用してPNGマップとしてレンダリングしています。私のスクリプトはうまく機能しますが、ブラウザの同一生成ポリシーにより、描画したすべてのマップタイルが同じホストからのものである場合にのみ、キャンバスを画像に変換できます(例:)sub.domain.com。 マップの読み込み速度を高めるために、サブドメインの配列からタイルを取得します:a.domain.com、b.domain.comなど。これにより、ホストごとに4つの同時接続というブラウザーの制限を回避しながら、パフォーマンスが大幅に向上しますが、タイルは複数のホストから取得されます。 この問題を回避するためにCORSを使用しようとしています。Access-Control-Allow-OriginPHPで提供するタイルセットに適切な応答ヘッダーを設定しましたが、これは効果がありません。これはOrigin、リクエストにヘッダーが含まれていないことが原因であると思われます(Wikiページの例に示すように)。いくつかのOpenLayers構成が必要なようです。でも何?他の誰かがこれを成功させましたか?

4
今すぐOpenLayers 3に移行することをお勧めします[終了]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 OpenLayers 3は、今すぐアプリケーションの移行を開始するのに十分な信頼性があるのでしょうか。バージョン2と3の違いは、古いコードが機能しないほど重要ですか?OpenLayers 3の主要な改善は、3Dと同様に十分にテストされていますか?

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