raphael.jsで中国地図を描く 地図描画方法_JavaScriptスキル
最近のデータ統計プロジェクトでは、中国の地図が使用されています。これは、特定の期間における特定の省および地域の統計データを地図上に動的に表示するものです。フラッシュは必要ありません。 raphael.js および SVG 画像を使用して、マップの対話型操作を完了します。この記事では、js を使用してマップの操作を完了する方法を説明します。
raphael.js について簡単に紹介します。raphael.js は、Web ページ上にさまざまなベクター グラフィック、さまざまなグラフ、画像のトリミング、回転、モーション アニメーションなどの機能を描画できる小さな JavaScript ライブラリです。また、raphael.jsはクロスブラウザ互換性もあり、旧IE6にも対応しています。 raphael.jsの公式サイトアドレス:http://raphaeljs.com/
準備
ベクター マップを準備する必要があります。インターネットからベクター マップを見つけるか、イラストレーターを使用してベクター マップを描画し、それを SVG 形式のファイルにエクスポートします。このファイルはブラウザーで開くことができます。次に、内部のコンテンツ パス パス情報 (M で始まる座標) が抽出されます。そしてchimamapPath.jsの形式に従ってマップパス情報を用意します。
var china = [];
functionPaintMap(R) {
var attr = {
"fill": "#97d6f5",
"ストローク": "#eee",
"ストローク幅": 1 ,
"ストローク-ライン結合": "round"
};
china.aomen = {
名前: "マカオ",
パス: R.path("M413. 032,. ......一部省略... ,414.183z").attr(attr)
}
china.hk = {
//形式は上記と同じ
};
}
HTML
まず、head セクションに raphael.js ライブラリ ファイルと chimamapPath.js パス情報ファイルを読み込みます。
最初にページ内のマップを呼び出します。メソッドは次のとおりです:
//地図を描画します
var R = Raphael("map", 600, 500);//地図を読み込みますid map を使用して div にマップし、領域を 600x500px サイズに設定します。
ペイントマップ(R);
}
window.onload = function () {
var R = Raphael("map", 600, 500);
//地図描画メソッドを呼び出します
PaintMap(R); 🎜 >
var textAttr = {
"fill": "#000",
"font-size": "12px",
"cursor": "pointer"
}; 🎜 >
{
//現在のグラフィックの中心座標を取得します
var xx = st.getBBox().x (st.getBBox().width / 2); 🎜> var yy = st.getBBox().y (st.getBBox().height / 2); ]['name']).attr(textAttr) );
st[0 ].onmouseover = function () {//マウスを
にスライドさせます st.animate({fill: st.color, ストローク : "#eee"},
.onmouseout = function () {//マウスは
St.animate ({Fill: "#97d6F5", Stroke: "#eee"}, 500);
China [State] ['Text'] ); (); 🎜>
上記のコードでは、raphael が提供するメソッド (getColor、getBBox、animate、toFront など) が使用されています。これらの手順は、raphael のドキュメントに記載されているため、この記事では説明しません。
さらに、マップのサイズにより、一部の州名がマップ内で適切に表示されず、より快適に見えるようにオフセットを修正する必要があります。
コードをコピー
コードは次のとおりです:
window.onload = function () {
var R = Raphael("map", 600, 500);
...
for (var state in china) {
...
(function (st, state) {
....
switch (china[state]['name']) {
case "江苏":
xx += 5;
yy -= 10;
break;
case "河北":
xx -= 10;
yy += 20;
break;
case "天津":
xx += 10;
yy += 10;
break;
case "上海":
xx += 10;
break;
case "广东":
yy -= 10;
break;
case "澳门":
yy += 10;
break;
case "香港":
xx += 20;
yy += 5;
break;
case "甘肃":
xx -= 40;
yy -= 30;
break;
case "陕西":
xx += 5;
yy += 10;
break;
case "内蒙古":
xx -= 15;
yy += 65;
壊す;
デフォルト:
}
...
})(china[state]['path'], state);
}
}

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

このチュートリアルでは、chart.jsを使用してパイ、リング、およびバブルチャートを作成する方法について説明します。以前は、4つのチャートタイプのchart.js:ラインチャートとバーチャート(チュートリアル2)、およびレーダーチャートと極地域チャート(チュートリアル3)を学びました。 パイとリングチャートを作成します パイチャートとリングチャートは、さまざまな部分に分かれている全体の割合を示すのに理想的です。たとえば、パイチャートを使用して、サファリの男性ライオン、女性ライオン、若いライオンの割合、または異なる候補者が選挙で受け取る票の割合を示すことができます。 パイチャートは、単一のパラメーターまたはデータセットの比較にのみ適しています。パイチャートのファンの角度はデータポイントの数値サイズに依存するため、パイチャートは値のあるエンティティをゼロ値で描画できないことに注意してください。これは、割合がゼロのエンティティを意味します

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...
