1. ベクターマップベクター グラフィックスは直線と曲線を使用してグラフィックスを表します。これらのグラフィックスの要素は点、線、四角形、多角形、円、円弧などであり、すべて数式を計算することによって得られます。ベクターグラフィックは数式計算によって得られるため、一般的にファイルサイズは小さくなります。ベクター グラフィックスの最大の利点は、拡大、縮小、回転しても歪まないことです。地図には数多くのアプリケーションがあり、地図データの非常に重要な構成要素です。 保存、送信、使用を容易にするために、ベクター マップは、一般的な 2. GeoJson 形式を使用してベクター マップを読み込む1. プロジェクト構造 2. map.geojson
3. マップ.html <!Doctype html> <html xmlns='http://www.w3.org/1999/xhtml'> <ヘッド> <meta http-equiv='コンテンツタイプ' content='text/html;charset=utf-8'> <meta http-equiv='X-UA-compatible' content='IE=edge,chrome=1'> <meta content='always' name='referrer'> <title>OpenLayers 3: ベクターマップの読み込み</title> <link href='ol.css ' rel='スタイルシート' type='text/css'/> <script type='text/javascript' src='ol.js' charset='utf-8'></script> </head> <本文> <div id='map' style='幅: 1000px;高さ: 800px;マージン: 自動'></div> <スクリプト> /** * マップを作成する */ 新しい ol.Map({ // マップレイヤーを設定するlayers: [ //Open Street Mapマップソースを使用するレイヤーを作成します。new ol.layer.Tile({ ソース: 新しい ol.source.OSM() })、 //GeoJSONベクターマップをロードする new ol.layer.Vector({ ソース: 新しい ol.source.Vector({ url: 'geojson/map.geojson', // マップソース形式: new ol.format.GeoJSON() // ベクターマップを解析するためのフォーマットクラス}) }) ]、 // マップビューを表示するビューを設定します: new ol.View({ center: [104,30], // 地図表示の中心を経度104度、緯度30度に設定します。zoom: 10, // 地図表示レベルを10に設定します。 projection: 'EPSG:4326' //投影を設定する}), // ID map の div をマップのコンテナにします。ターゲット: 'map' }) </スクリプト> </本文> </html> 4. 運用結果 3.ベクターマップ上のすべてのフィーチャを取得し、スタイルを設定する1.map2.html <!Doctype html> <html xmlns='http://www.w3.org/1999/xhtml'> <ヘッド> <meta http-equiv='コンテンツタイプ' content='text/html;charset=utf-8'> <meta http-equiv='X-UA-compatible' content='IE=edge,chrome=1'> <meta content='always' name='referrer'> <title>OpenLayers 3: ベクター マップ上のすべてのフィーチャを取得してスタイルを設定する</title> <link href='ol.css ' rel='スタイルシート' type='text/css'/> <script type='text/javascript' src='ol.js' charset='utf-8'></script> </head> <本文> <div id='map' style='幅: 800px;高さ: 500px;マージン: 自動'></div> <br> <div スタイル = '幅: 800px;マージン: 自動'> <button type="button" onclick = 'updateStyle()' >フィーチャー スタイルの変更</button> </div> <スクリプト> /** * マップを作成する */ var map = 新しい ol.Map({ // マップレイヤーを設定するlayers: [ //Open Street Mapマップソースを使用するレイヤーを作成します。new ol.layer.Tile({ ソース: 新しい ol.source.OSM() })、 ]、 // マップビューを表示するビューを設定します: new ol.View({ center: [104,30], // 地図表示の中心を経度104度、緯度30度に設定します。zoom: 10, // 地図表示レベルを10に設定します。 projection: 'EPSG:4326' //投影を設定する}), // ID map の div をマップのコンテナにします。ターゲット: 'map' }); //ベクターマップソースレイヤーを作成し、スタイルを設定します var vectorLayer = new ol.layer.Vector({ ソース: 新しい ol.source.Vector({ url: 'geojson/map.geojson', // マップソース形式: new ol.format.GeoJSON() // ベクターマップを解析するためのフォーマットクラス}), // スタイルを設定します。色は緑、線の太さは 1 ピクセルです。style: new ol.style.Style({ ストローク: 新しい ol.style.Stroke({ 色: '緑'、 サイズ: 1 }) }) }); マップにレイヤーを追加します(ベクトルレイヤー)。 /** * ベクターレイヤー上のすべてのフィーチャを取得し、スタイルを設定します */ 関数 updateStyle(){ //赤色と3ピクセルの線の太さのスタイルを作成します。var featureStyle = new ol.style.Style({ ストローク: 新しい ol.style.Stroke({ 色: '赤'、 サイズ: 3 }) }) //ベクターレイヤー上のすべてのフィーチャを取得します var 機能 = vectorLayer.getSource().getFeatures() //すべてのFeatureを走査し、各Featureのスタイルを設定します for (var i = 0; i < features.length; i++) { 機能[i].setStyle(機能スタイル) } } </スクリプト> </本文> </html> 2. 運用結果 4. ベクトルマップ座標系変換 ベクター マップは 1.map3.html <!Doctype html> <html xmlns='http://www.w3.org/1999/xhtml'> <ヘッド> <meta http-equiv='コンテンツタイプ' content='text/html;charset=utf-8'> <meta http-equiv='X-UA-compatible' content='IE=edge,chrome=1'> <meta content='always' name='referrer'> <title>OpenLayers 3: ベクター マップの座標系の変換</title> <link href='ol.css ' rel='スタイルシート' type='text/css'/> <script type='text/javascript' src='ol.js' charset='utf-8'></script> <script src="jquery-3.6.0.js"></script> </head> <本文> <div id='map' style='幅: 1000px;高さ: 800px;マージン: 自動'></div> <スクリプト> /** * マップを作成する */ var map = 新しい ol.Map({ // マップレイヤーを設定するlayers: [ //Open Street Mapマップソースを使用するレイヤーを作成します。new ol.layer.Tile({ ソース: 新しい ol.source.OSM() }) ]、 // マップビューを表示するビューを設定します: new ol.View({ center: ol.proj.fromLonLat([104,30]), // マップ表示の中心を経度 104 度、緯度 30 度に設定します。zoom: 10, // マップの表示レベルを 10 に設定します。 })、 // ID map の div をマップのコンテナにします。ターゲット: 'map' }); // ベクターマップをロードする function addGeoJSON(data) { var レイヤー = 新しい ol.layer.Vector({ ソース: 新しい ol.source.Vector({ features: (new ol.format.GeoJSON()).readFeatures(data, { // readFeatures メソッドを使用して座標系をカスタマイズします。 dataProjection: 'EPSG:4326', // JSON データで使用される座標系を設定します。 featureProjection: 'EPSG:3857' // 現在のマップで使用されるフィーチャの座標系を設定します。 }) }) }); マップにレイヤーを追加します。 }; $.ajax({ url: 'geojson/map.geojson', 成功: 関数(データ、ステータス) { // データ コンテンツを正常に取得したら、ベクター マップをマップに追加するメソッドを呼び出します。addGeoJSON(data); } }); </スクリプト> </本文> </html> 2. 運用結果 OpenLayers 3 読み込みベクターマップソースに関するこの記事はこれで終わりです。OpenLayers 3 読み込みベクターマップの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL 演算子の具体的な使用法 (and、or、in、not)
>>: Vmvare 仮想マシンを使用して Ubuntu のルート ディレクトリをパーティション分割する方法の紹介
序文ブロガーが使用しているサーバーは Alibaba Cloud から購入したものです。実際、Ali...
(?i) は大文字と小文字を区別しないことを意味します。大文字と小文字をすべて置き換えます。 htm...
序文今日、Xianyuを閲覧していたとき、各行の高さが同じではないことに気付きました。調べてみると、...
# には位置情報が含まれます。デフォルトのアンカーは #top で、これは Web ページの上部です...
目次1. v-on指令1. 基本的な使い方2. 糖衣構文3. イベントパラメータ4. イベント修飾子...
複数のTomcatをインストールする場合は、システムにJDKがインストールされている必要があり、 T...
来学期にMySQLを勉強します。事前に自宅で練習していませんでした。インストールに時間がかかるとは思...
この記事の例では、カウントダウンプロンプトボックスを実装するためのJavaScriptの具体的なコー...
背景トランザクションについて話すとき、誰もがそれに精通している必要があります。MySQL データベー...
1. DNSサーバーの概念インターネットでの通信には IP アドレスの助けが必要ですが、数字に対する...
React は Facebook の社内プロジェクトとして始まりました。 React の出現は革命的...
1. Webページを開くと503サービス利用不可が表示されますが、更新すると正常にアクセスできます。...
今日、ブラウザの互換性の問題にいくつか遭遇しました。そのうちの 1 つは奇妙に感じました。Firef...
1. インストール dockerhub を通じてインストールする mariadb のバージョンを検索...
最近、プロジェクトの開発時に MySql データベースを使用しました。MySql に関する記事をいく...