チュートハンパな世界チュートハンパな世界パソコンのこと、ネットのこと、Webプログラミングのこと...。扱えるけど、どれもモノにならず。そんな日常のブログです。月別アーカイブの折りたたみ+ツリー化カテゴリアーカイブについては、先日の作業で折りたたみ+ツリー化ができているので、今回は月別アーカイブの折りたたみ+ツリー化をしたいと思います。折りたたんだり、ツリー化するほど記事がたくさんありませんので、私のブログにはあまり役に立ちません...。それはさておき、早速、いつもの小粋空間さんのホームページを開き、該当の記事を探します。すると、月別アーカイブリストの年別表示(ツリー化+折りたたみ)という記事がヒットしましたので、手順どおり作業を進めたいと思います。class="categories">を挿入します。月別アーカイブリストの年別表示(ツリー化+折りたたみ)では、月のツリー化はできても、年のツリー化ができないので、後々年のツリー化をする為にも、カテゴリアーカイブのスタイルシートを流用することにします。結果的に作業は完了し、年単位の折りたたみ+ツリー化が完了しました。ここからが難敵、年のツリー化です。いってどこから手を突けたらいいのかすら分かりません。考え方としては、月別アーカイブの最後の年だけtree_endを出力するようにすればいいはずなのですが...。Archivesの中で一番古い記事の年(end_year)を取得します。/></mt:ArchiveList>でいいのかな。作業中の記事の年(current_year_s)を取得し、先ほどのend_yearと一致すればtree_endを出力します。tree_end"></mt:if>ということになります。/></script></mt:ifArchiveTypeEnabled>こんな力技じゃなく、もう少しスマートに処理できるんでしょうけど、なんせチュートハンパなものですから...。その4早速ですが、サンプルスクリプトを修正していきます。ルート案内の基本となるポイントの修正です。mapsが導くルートと駅伝のルートが正しいことを確認しながらリストアップしてきます。mapsが近道を探し出したりしてしまうので、中継所以外の交差点もポイントとして出しておく必要があります。ここで大きな問題が...。中継所+交差点などのポイントをリストアップしていくと、ルート案内としておくことができるポイントが足りなくなってしまいました...。V3のディレクションのドキュメントでは、ディレクションクエリのステータスとして、MAX_WAYPOINTS_EXCEEDEDの場合には最大のウェイポイント数は23+基点と終着地点ということになっているのに、基点+終着地点+ウェイポイントが10個で上記のステータスが出てしまいます。仕方が無いので、ルート案内用のポイントと中継所用のポイントを別の配列で管理することにしました。'driving'}最初のlatlngsという配列はサンプルの通りルート用の配列です。別にchukeisという配列を準備し、中継所にポイントを出し、ポップアップウィンドウを表示させるようにしました。mapTypeはROADMAP、travelModeはとりあえずdrivingに設定してあります。今回使いませんので、全部削除。ついても、今回は画面上で新たなウェイポイントを追加しない前提ですので、ウェイポイントの数のチェックなどは行わせていません。ついて、ウェイポイントにはマーカーを設置しませんので、stopverはfalseに設定します。addressKeyHandler(e)も今回は使いませんので、全部削除。map});attachMessage(myMarker,examples[n].chukeis[i][2]);}だけを追加しました。ver.もっとスマートに作ることも出来るんでしょうけど、なんせ素人でチュートハンパなものですから、こんな力技でしか作ることが出来ません。その3サンプルのとおり作成し、このブログにウェブページとしてサンプルを載せようと思ったのですが、断続的にjavascriptのエラーが発生して正常に動きません。Elevationのスクリプトにエラーが発生しているようです。Elevation単独でのページであれば何もエラーが発生しないので、このブログに使っているjavascirptと何か競合しているのかと思い、順番にスクリプトをはずしていくと、prototype.jsをはずすと正常に動作しました。setMapがprototype.jsのmapと競合しているんだと思うのですが、無知でチュートハンパな私には解決方法は全く分かりません。いうことで、このブログのカレンダーをprototype.jsではなくjQueryのカレンダーに変更することにしました。手順はいつもの小粋空間さんの手順どおり進めていきます。月送りカレンダー(jQuery・MT4版)の記事をよく読み、scriptをダウンロードして、サーバーにアップロードし、各種テンプレートを変更して、再構築!で、OKです。完成したサンプルページがこのページです。Elevationこれから、また駅伝用に修正をしていきたいと思います。その2GoogleMapAPIもV3になってから簡単になりました。src="http://maps.google.com/maps/api/js?sensor=false"></script>って読み込むだけですね。}];SAMPLESというのは標高表示グラフの解像度になります。数値を大きくすると細かいグラフになりますし、小さくすると荒いグラフになります。APIで512までに制限されているようです。このケースだと、examplesという配列に緯度・経度の情報、地図のタイプ、移動方法の選択をします。mapTypeはROADMAPを選択し、travelModeはwalkingあたりを選択しておけば問題ないと思います。上から順番にexamples[0],examples[1]という配列になり、後でルートを選択する場合にはその番号を使用します。今回は基本的にサンプルのjavascriptをとりあえずはそのまま使用します。ホームページを管理しています。その中でコース紹介のページを作っているのですが、面倒でPDFファイルを貼り付けていただけなのでうすが、どうも面白くないので、GoogleMapAPIのルート案内を使ってみることにしました。ルート案内だけを導入しても面白くない。そこで、Google先生に聞いてみますと、高低差表示ができるページが紹介されていましたので、さっそくそちらの高低差表示も含めたコース紹介を導入することにしました。実は、当初はGoogleMapAPIのルート案内ではなく、Yahoo!のルートラボを使用しようと考えていたのですが、ホームページに貼り付けたときにどうも他のページとの整合性が取りにくく、細かいカスタマイズができない。結局GoogleMapAPIを使って地図を貼り付ける形に落ち着きました。再度Google先生にお伺いしたところ、http://gmaps-samples-v3.googlecode.com/svn/trunk/elevation/elevation-profile.htmlなるページがヒットしました。ソースを見る限り、それほど複雑な仕組みにはなっていないようですので、解析しながらおいおい設置したいと思います。