このブログを検索

大文字小文字を区別する 正規表現

Atelierで“RLA”が含まれるブログ記事

2013年2月 3日

隠居のブログ備忘録:JQuery lightbox 2.51 をカストマイズする

 
 昨年夏に、サムネイル写真をクリックするとウインドウ中央に写真が拡大表示される Llightbox を jQuery という JavaScript のライブラリーを使用した Lightbox2.51 を導入した。
 その時、カストマイズしたのは、デフォールトでは黒である背景画面の色を緑にしたのと、写真ページを閉じるボタンを デフォールトのclose.png から、自作の closelabel.gif に変更しただけである。

 私が管理している友人の Lightbox は、prototype.js という JavaScript のライブラリーを使った旧バージョン Lightbox2.0 を使っている。背景画面に、蝶をあしらった壁紙を使っていて、これを Lightbox2.51 で使う方策が分からなかったからである。
  Lightbox2.51 のカストマイズは、【jQueryのlightBoxプラグインの使い方】【jQuery LightBox Pluginの使い方】 などに詳しい。これらのプラグインは、新たに JavaScript を付け加えてカストマイズする方法である。だが、私のやり方が悪かったのか上手く行かなかった。
 そこで、当初導入した時にいじったJavaScript lightbox.js と スタイルシート lightbox.css 再度いじって見ることにした。 私にコードが理解できるわけではないから、やりかたは ここはと思われるスクリプト ないしは CSS をいじって、FTP でサーバーにアップロードし、実際のページでの変化を観察する方法である。幸い、JavaScript と CSS の変更は、すぐにページに現れるから楽である。この結果を備忘録として記録しておきたいと思う。

  1. 自作の closelabel に置き換える。
    lightbox.js の41行目を下のように独自の画像に置き換える。
          this.fileCloseImage = 'http://n-shuhei.net/atelier/Jquery2.51/images/closelabel.gif';

  2. セットで写真を表示している場合の表示を "image"(default) から "画像"に置き換える。44行目
          this.labelImage = " 画像 "; 

  3. セットの写真の何枚目を示す、表示を例えば "1 of 8" を " 1 / 8 "に置き換える。45行目
          this.labelOf = "/";  

  4. 背景画面を単一色から、壁紙画面に変える。lightbox.ccs の7行目あたりの背景色をコメントアウトして、壁紙イメージを挿入する。
    /*  background-color: #000000; */
    background-image: url("http://n-shuhei.net/atelier/lightbox2/images/overlay_1.jpg") ; 

  5. 画像の枠(台紙)の色をかえる。lightbox.ccs の35行目あたり。デフォールトは、"white;"
       background-color: #ffffe0;

  6. 画面の"前画面" "次画面" へのボタンを独自のボタンに置き換える。lightbox.ccs の112行目、117行目あたり。 
        background: url(http://n-shuhei.net/lightbox2/images/prevlabel.gif) left 40% no-repeat;

    background: url(http://n-shuhei.net/lightbox2/images/nextlabel.gif) right 40% no-repeat;

  7. 写真の説明文字の色を変える。lightbox.ccs の145行目あたり。デフォールトは灰色。
     color: #ffffff;

 その他、細かい部分も、CSS をいじることで変えられそうだ。
サンプル画像は、次のエントリー【隠居の探鳥ウォーク:ハリエンジュ 花芽ついばむ 鷽(ウソ)4羽 】などで確認できます。

  

2012年7月17日

隠居のパソコン備忘録: jQuery lightbox (同一画面上に拡大写真をかっこよく表示する)を導入する


 先日来、個人的地図作成サービス Google Maps API V3 を学習してきた。このサービスを使って、加賀地方旅行地図を作成したことを記録している。このサービスを学習中に、jQuery という JavaScript のライブラリーが、いろいろな JavaScript ソフトを導入するときに使われていることが分かった。

 この JavaScript ライブラリーの jQuery を使って、拡大写真の表示を同一画面上に表示する JavaScript の lightbox が新しいバージョン(Version 2.51)になっていることも分かった。(従来のライブラリーは、prototype.js )
 これを、先の加賀地方旅行地図での写真表示に使って見ることにした。
サンプル画像

 インストールについては、Lightbox2 のページから、Lightboxv2.51 をダウンロードし、PC のどこかのフォルダ(例えば、lightbox2.51 を作成し )に解凍する。
  上のページの【How to use】を参考に、ブログをアップロードしているサーバーに新しいフォルダー(例えば、lightbox2.51 )を作成し、ファイル転送ソフト(私の場合、FFFTP )を使ってサーバーにアップロードする。解凍したフォルダーをまるままアップロードしても問題は無いと思う。ただ、サーバーに余裕がない場合には、先ほどのページを参考に、必要なファイルのみをアップロードしたほうが良い。このあたりは、【アクアラングウエスタンver.9.2】というページを参照させてもらった。

 このようにして、lightbox2 が動作するのを確認の上で、次のようなカスタマイズを行った。
  • 初期値では、写真を表示する画面の背景色は黒であるが、これを好きな色に変えるには、lightbox.css の冒頭にある次の青字部分を変更する。
    /* line 6, ../sass/lightbox.sass */
    #lightboxOverlay {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 9999;
      background-color: #408080; 元は、black;
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=85);
      opacity: 0.85;
      display: none;
    }
    


  • 写真ページを閉じるボタンを close.png(close.png) から、自作の closelabel.gif(closelabel.gif) に変更した。変更は、lightbox.js の50行目あたりある次の青字部分を変更した。なお、赤字部分で示したように、imageのありかは、絶対パスで書いておいたほうが無難なようである。
      LightboxOptions = (function() {
        function LightboxOptions() {
          this.fileLoadingImage = 'http://n-shuhei.net/xxxxx/Jquery2.51/images/loading.gif';
          this.fileCloseImage = 'http://n-shuhei.net/xxxxx/Jquery2.51/images/closelabel.gif';
          this.resizeDuration = 700;
          this.fadeDuration = 500;
          this.labelImage = " photo  "; 元は、Image 
          this.labelOf = "of";
        }
    


 この Jquery lightbox2 を、Movable Type 4 で作ったブログの写真(多分1000枚以上ある)の表示に適用した。(従来は、prototype.js の lightbox 2.0 ) Movable Type に適用するには、テンプレートのヘッダーにある lightbox 2.0 の Javascript 表示を lightbox 2.51 のコードに置き換えるだけで、すべての写真表示が新しい lightbox2.51 の表示となるので極めて楽ちんである。(つまり、HTML でのコードは、 lightbox 2.0 でも lightbox2.51 でも同じである。)

2012年4月13日

隠居の花見:泉北ニュータウン栂地区の桜(2012)


 4月8日の週、ソメイヨシノは満開である。泉北ニュータウンの栂地区の桜を訪ね歩いてみた。
  栂地区の花見で人気のあるのは、西原公園の桜である。南堺警察署の北すぐにある大方池の周りには、芝生が広がり、花見時期にはバーベキューの匂いが立ち込める。
 泉北高速鉄道の栂・美木多駅から北へ福泉南中学・福泉中央小学校に続く遊歩道の両側は桜並木である。植えられてから40年くらいになっているので、かなり大きな木になっている。

 栂・美木多駅から南の御池台まで続く遊歩道の両側も桜並木である。庭代台公園・御池公園の桜もきれい。
 泉北1号線からハーベストの丘に続く道路ぎわ御池台1丁に、御池の滝桜と名付けられている大きな枝垂れ桜がある。ニュータウン開発以前からあったらしく、有志の人たちで大事に維持されているという。探鳥ウォークで時間があるときには、和田川沿いにこのあたりまで足を伸ばすことがあるが、めったには行くことはない。

 栂地区で有名な桜が、もう一本ある。南区役所から、東へ200mほど下った団地の入口付近にある、緑の御衣ざくらである。この桜は、八重桜の一種で花が緑色である。この時期には、まだ蕾である。この南区役所から東へ向かう道路と並行して下を走る泉北1号線との間には、オオシマザクラが植えられている。今年は、レンギョウや雪柳も咲くのが遅かったので、桜と白と黄色のコントラストとなっており、なかなかいい感じである。オオシマザクラは、桃山公園の緑道にも並木として植えられている。

 散策して撮った写真を、下のような泉北ニュータウン栂地区の地図に、プロットしてみた。 地図は、Google Maps API V3 となるので、今までの地図を変更した。【Google Maps API JS V3 でXML ファイルを読み込む】などを參考にしている。
 このようにしてみると、桜の多くはニュータウンの開発で植えられたものがほとんである。


-->

2011年11月11日

Jazz: Piano Trio List


 2011年7月に、ジャズ・ジャーナリストの杉田宏樹さんという方の【ジャズと言えばピアノトリオ】いう本が、光文社新書で発刊された。読み進むと、ファミリアな名前のピアニストの名前が次々と出てくる。それらのピアニストが結成したピアノトリオの有名なアルバムも細かに紹介されている。ジャズと聞くと節操無く集めたジャズ曲の中にも、それらのアルバムに収められているナンバーが、mp3 file として Windows Media Library に収納されている。

 これらのナンバーを上の本に紹介されている順に整理して、Internet Radio のサイトである Live 365 に開設している私の放送局Radio Senboku に、アップロードすることにした。
 そのために、この本に紹介されている Piano Trio と代表的なアルバムを整理してみた。Trio であるから、該当アルバムで共演しているベースとドラムスの奏者も合わせて記載して、一覧にしたのが下の表である。

 その後、Radio Senboku にアップロードするために、上の本に紹介されている以外のレコードも使ったので、それらも該当する Trio の欄に追記した。

Jazz Piano Trios
Pianists representative Albumrecordedbassdrums
Revised on Oct 2nd, 2012
Bill Evans
1929 - 1980
Portrait In Jazz 1959 Scott LaFaro Paul Motian
Waltz For Debby 1961
Sunday At The Village Vanguard 1961
How my heart sings! 1962 Charles Israels
At Shelly's Manne-Hole 1963 Larry Bunker
Bud Powell
1924 - 1960
Bud Powell Trio Plays 1947 Curly Russell Max Roach
A Portrait of Thelonious 1961 Pierre Michelot Kenny Clarke
Thelonious Monk
1917 - 1982
Thelonious Monk Trio 1952,54 Gary Mapp
Percy Heath
Art Blakey
Max Roach
Plays Duke Ellington 1955 Oscar Pettiford Connie Kay
The Unique 1956 Art Blakey
Oscar Peterson
1925 - 2007
We Get Requests 1964 Ray Brown Ed Thigpen
The Trio 1961
Girl Talk 1965-67 Ray Brown
Sam Jones
Louis Hayes
Bobby Durham
Wynton Kelly
1931 - 1971
Kelly at Midnite 1960 Paul Chambers Philly Joe Jones
The Best Of Wynton Kelly ----
Sonny Clark
1931 - 1963
Cool Struttin'
  Art Farmer(trp)
  Jackie McLean
1958 Paul Chamberrs Philly Joe Jones
Sonny ClarkTrio 1965
Tommy Flanagan
1930 - 2001
Overseas 1958 Wilbur Little Elvin Jones
Eclypso 1977 George Mraz
Kenny Drew
1928 - 1993
Kenny Drew Trio 1956 Paul Chamberrs Philly Joe Jones
Red Garland
1923 - 1984
Groovy 1956 Paul Chamberrs Art Taylor
At The Plerude 1959 Jimmy Rowser Specs Wright
Barry Harris
1929 -
Breakin' It Up 1958 Bob Cranshaw Clifford Jarvis
At The Jazz Workshop 1960 Sam Jones Louis Hayes
Phineas Newborn, Jr
1931 - 1989
World of piano 1961 Paul Chamberrs
Sam Jones
Philly Joe Jones
Louis Hayes
Here is Phineas 1958 Oscar Pettiford Kenny Clarke
Hank Jones
1918- 2010
Great Jazz Trio: At the Village Vanguard 1978 Ron Carter Tony Williams
Hank Jones Trio 1979 George Duviver Alan Dawson
Al Haig
1924- 1982
Invitation 1974 Rovere Gilbert Kenny Clarke
Al Haig Trio 1954 Bill Crow Lee Abrahams
Duke Jordan
1924- 1982
Flight To Denmark 1973 Mads Vinding Edmund Leonard Thigpen
Ray Bryant
1922- 2006
Ray Bryant Trio [1957] 1957 Ike Isaacs Specs Wright
Ray Bryant Plays 1959 Tommy Bryant Oliver Jackson
Hampton Hawes
1922- 2006
Hampton Hawes The Trio Vol. 1 1955 Red Mitchell Chuck Thompson
Andre Previn
1929 -
My Fair Lady 1964 Leroy Vinnegar Shelly Manne
Horace Parlan
1929 -
Us Three 1960 George Tucker Al Harewood
Duke Pearson
1932 - 1980
Tender Feelin's 1959 Gene Taylor Lex Humphries
Profile 1959
Herbie Nichols
1919 - 1963
Herbie Nichols Trio 1956 Teddy Kotick (tracks 6-8 & 10)
Al McKibbon (tracks 1-4 & 9)
Max Roach
Duke Ellington
1899 - 1974
Money Jungle 1962 Charles Mingus Max Roach
Art Tatum
1909 - 1956
Art Tatum Trio 1956 Red Callender Jo Jones
Ahmad Jamal
1930 -
Portfolio Of Ahmad Jamal 1958 Israel Crosby Vernell Fournier
Ramsey Lewis
1935 -
The In Crowed 1965 Eldee Young Isaac Holt
An hour with the Ramsey Lewis Trio 1959
Erroll Garner
1921 - 1977
Concert By The Sea 1955 Eddie Calhoun Denzil Best
Billy Taylor
1921 - 2010
Sleeping Bee 1969 BenTucker Grady Tate
A Touch Of Taylor 1955 Earl May Percy Brice
Junior Mance
1928 -
JUNIOR 1959 Ray Brown Lex Humphries
Ceder Walton
1928 -
Something For Lester
  as Ray Brown Trio
1977 Ray Brown Elvin Jones
Manhattan Afternoon 2009 David Williams Billy Higgins
Marian McPartland
1918 -
Marian McPartland At The London House 1958 Bill Britto Joe Cusatis
At The Hickory House 1955 Bill Crow Joe Morello
Claude Williamson
1926 -
Round Midnight 1958 Red Mitchell Mel Lewis
Salute to Bud 1954 Curtis Counce Stan Levey
Mal Waldron
1926 - 2002
Free At Last 1966 Isla Eckinger Clarence Becton
Set Me Free 1969 Barre Phillips Philly Joe Jones
Don Friedman
1935 -
Circle Waltz 1962 Chuck Israels Pete(La Roca)Sims
Bobby Timmons
1935 - 1974
This Here Is Bobby Timmons 1960 Sam Jones
(tr 1, 2 & 4-9)
Jimmy Cobb
(tr 1, 2 & 4-9)
Hugh Lawson
1935 - 1997
Prime Time 1977 Bob Cranshaw Ben Riley
Richard Wyands
1928 -
Then, Here And Now 1978 Lisle Atkinson David Lee
Harold Mabern
1936 -
Straight Street (yet) 1991 Ron Carter Jack DeJohnette
Monty Alexander
1944 -
Montreux Alexander  1976 John Clayton Jeff Hamilton
Walter Bishop Jr.
1927 - 1998
Speak Low 1976 JImmy Garrison G.T.Hogan
Walter Davis Jr.
1932 - 1990
Scorpio Rising 1989 Santi Debriano Ralph Peterson Jr.
Paul Bley
1932 -
Touching 1965 Kent Carter Barry Altschuk
Chick Corea
1941 -
Now He Sings, Now He Sobs 1968 Miroslav Vitous Roy Haynes
Herbie Hancock
1940 -
Maiden Voyage (The Rudy Van Gelder Edition) 1965 Ron Carter Tony Williams
Speak Like A Child 1968 Mickey Roker
McCoy Tyner
1938 -
Inception 1962 Art Davis Elvin Jones
Remembering John 1991 Avery Sharpe Aaron Scott
Steve Kuhn
1938 -
Watch What Happens 1968 Palle Danielsson Jon Christensen
Remembering Tomorrow 1968 David Finck Joey Baron
Richie Beirach
1947 -
Elegy For Bill Evans 1981 George Mraz Al Foster
Fred Hersch
1955 -
Heartsongs 1989 Michael Formanek Jeff Hirshfied
Kenny Barron
1943 -
Scratch 1985 Dave Holland Daniel Humair
People Time(Disc1,2) 1991 Sax: Stan Gets   
Benny Green
1963 -
Testifyin! Live At The Village Vanguard 1991 Christian McBride Carl Allen
FUNKY! 1997 Ben Wolfe Karriem Riggins
Cyrus Chestnut
1963 -
Dark Before The Dawn 1995 Steve Kirby Clarence Penn
Bill Charlap
1966 -
written in the stars 2000 Peter Washington Kenny Washington
'S Wonderful 1999
Geri Allen
1957 -
in the year of the dragon 1989 Charlie Haden Paul Motion
The Printmakers 1984 Anthony Cox Andrew Cyrille
Brad Mehldau
1970 -
the Art of the Trio volume one 1998 Larry Grenadier Jordi Rossy
introducing BRAD MEHLDAU 1995 track 1-5
Larry Grenadier
track 6-9
Christian McBride
track 1-5
Jordi Rossy
track 6-9
Brian Blade
Keith Jarrett
1970 -
Somewhere Before 1968 Charlie Haden Paul Motion
Life Between The Exit Sings 1967
Changeless 1987 Gary Peacock Jack Dejohnette

2011年1月29日

隠居のGoogle Maps: (続)Google Maps API を使って野鳥出現地点をカスタム・マーカーでプロットする

 先にエントリーした【隠居のGoogle Maps: Picasa を使って野鳥出現地点をプロットする】の方法では、プロットする地点を追加しようとすると、そこで記録した 4. 以降のかなり厄介な作業を、一からやり直さなければならないことが分かった。これでは不便である。

 それで、もとに戻って、自由度の高い Google Maps API を応用することを再度試みることにした。右フレームにおいている【京都・滋賀・奈良近辺私的観光地図】のような方式に変えれば、XML ファイルに位置情報と写真へのリンクを追加するだけで、プロット地点を増やしていけることが分かっている。ただ、先のエントリーのように、プロット地点に立てるマーカーを鳥のアイコンにする方法が、乏しい知識ではなかなかわからなかった。マーカーを任意のものに変える方法は色々と紹介されているが、外部のXML ファイルを呼びこんでくるようなコードは紹介されていなかった。

 いろいろとトライしているうちに、どうやら使えそうにコードが、Google から紹介されているのを見つけた。このコードを応用して追加・訂正することで カスタム・マーカー ができたので、忘れないうちに記録しておくことにした。

 仕樣は【野鳥の写真サムネイル】の種別名欄に、【撮影地点地図】 というボタンを置き、これをクリックすると新しい画面が開き、小鳥のマーカーが地図上にプロットされる。このマーカーか、右フレームの地名をクリックすると、その地点で撮影した野鳥の写真が吹きだしに表示される仕組みである。
そして、ここが肝心なのだが、新しい写真とその撮影地点は、XML ファイルで容易に追加することができるようにしたことである。カワラヒワの撮影地点地図を例にとって、以下、順を追って記録する。

  1. まず、XML ファイルを呼びこんで地図にマーカーを立てるもととなる html コード(Google Maps API の JavaScript が含まれている。)を用意する。このオリジナルは、Google Maps API Tutorial からいただいたもので、【道東ドライブ:Google Maps API Traial_3】のエントリーで紹介している。
    このHTML コードの中で、使用している JavaScript は、以下のようなものである。
    
    <script type="text/javascript">
        //<![CDATA[
    
        if (GBrowserIsCompatible()) {
          // this variable will collect the html which will eventualkly be placed in the side_bar
          var side_bar_html = "";
        
          // arrays to hold copies of the markers and html used by the side_bar
          // because the function closure trick doesnt work there
          var gmarkers = [];
          var htmls = [];
          var i = 0;
    
          // A function to create the marker and set up the event window
          function createMarker(point,name,html) {
            var marker = new GMarker(point);
            GEvent.addListener(marker, "click", function() {
              marker.openInfoWindowHtml(html);
            });
            // save the info we need to use later for the side_bar
            gmarkers[i] = marker;
            htmls[i] = html;
            // add a line to the side_bar html
            side_bar_html += '<a href="javascript:myclick(' + i + ')">' + name + '</a><br>';
            i++;
            return marker;
          }
    
          // This function picks up the click and opens the corresponding info window
          function myclick(i) {
            gmarkers[i].openInfoWindowHtml(htmls[i]);
          }
    
    
          // create the map
          var map = new GMap2(document.getElementById("map"));
          map.addControl(new GLargeMapControl());
          map.addControl(new GMapTypeControl());
          map.setCenter(new GLatLng( 43.745305,144.431763), 9);
    
    
          // Read the data from example.xml
          var request = GXmlHttp.create();
          request.open("GET", "http://n-shuhei.net/xxxx/xxx/trial.xml", true);
          request.onreadystatechange = function() {
            if (request.readyState == 4) {
              var xmlDoc = request.responseXML;
              // obtain the array of markers and loop through it
              var markers = xmlDoc.documentElement.getElementsByTagName("marker");
              
              for (var i = 0; i < markers.length; i++) {
                // obtain the attribues of each marker
                var lat = parseFloat(markers[i].getAttribute("lat"));
                var lng = parseFloat(markers[i].getAttribute("lng"));
                var point = new GLatLng(lat,lng);
                var html = markers[i].getAttribute("html");
                var label = markers[i].getAttribute("label");
                // create the marker
                var marker = createMarker(point,label,html);
                map.addOverlay(marker);
              }
              // put the assembled side_bar_html contents into the side_bar div
              document.getElementById("side_bar").innerHTML = side_bar_html;
            }
          }
          request.send(null);
        }
    
        else {
          alert("Sorry, the Google Maps API is not compatible with this browser");
        }
    
        //]]>
        </script>
    

    上のコードの赤字部分を、下のコードと置き換えれば、標準マーカーを小鳥のアイコン(この場合、カワラヒワのアイコン)で表示できることが分かった。この時、用いるイメージは、必ずしも .png ファイルだけではなく .gif ファイル、.jpg ファイルでもOKである。
    
    // Create birds marker icon
           var birdIcon = new GIcon(G_DEFAULT_ICON);
           birdIcon.image = "http://n-shuhei.net/Libraly/Icon/birds/kawarahiwa.gif";
           birdIcon.iconSize = new GSize(20, 34);
                    
    // Set up our GMarkerOptions object
           markerOptions = { icon:birdIcon };
    
    // A function to create the marker and set up the event window
          function createMarker(point,name,html) {
          var marker = new GMarker(point,birdIcon);
    

  2. このコードを入れた JavaScript は以下のようになる。
    
    <script type="text/javascript">
        //<![CDATA[
    
        if (GBrowserIsCompatible()) {
    // this variable will collect the html which will eventualkly be placed in the side_bar
        var side_bar_html = "";
        
    // arrays to hold copies of the markers and html used by the side_bar
    // because the function closure trick doesnt work there
        var gmarkers = [];
        var htmls = [];
        var i = 0;
    
    // Create birds marker icon
        var birdIcon = new GIcon(G_DEFAULT_ICON);
         birdIcon.image = "http://n-shuhei.net/xxxxxxx/Icon/birds/kawarahiwa.gif";
           birdIcon.iconSize = new GSize(20, 34);
                    
    // Set up our GMarkerOptions object
           markerOptions = { icon:birdIcon };
    
    // A function to create the marker and set up the event window
        function createMarker(point,name,html) {
        var marker = new GMarker(point,birdIcon);
         GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
            });
    
    // save the info we need to use later for the side_bar
        gmarkers[i] = marker;
        htmls[i] = html;
    
    // add a line to the side_bar html
        side_bar_html += '<a href="javascript:myclick(' + i + ')">' + name + '</a><br>';
            i++;
        return marker;
          }
    
    // This function picks up the click and opens the corresponding info window
        function myclick(i) {
            gmarkers[i].openInfoWindowHtml(htmls[i]);
          }
    
    // create the map
          var map = new GMap2(document.getElementById("map"));
          map.addControl(new GLargeMapControl());
          map.addControl(new GMapTypeControl());
          map.setCenter(new GLatLng(34.48675,135.490608),14);
    
    // Read the data from example.xml
          var request = GXmlHttp.create();
          request.open("GET", "http://n-shuhei.net/atelier/xxxxx/xxxxxxxx/API_kawarahiwa.xml", true);
          request.onreadystatechange = function() {
          if (request.readyState == 4) {
          var xmlDoc = request.responseXML;
    // obtain the array of markers and loop through it
          var markers = xmlDoc.documentElement.getElementsByTagName("marker");
              
          for (var i = 0; i < markers.length; i++) {
    // obtain the attribues of each marker
                var lat = parseFloat(markers[i].getAttribute("lat"));
                var lng = parseFloat(markers[i].getAttribute("lng"));
                var point = new GLatLng(lat,lng);
                var html = markers[i].getAttribute("html");
                var label = markers[i].getAttribute("label");
    // create the marker
                var marker = createMarker(point,label,html);
                map.addOverlay(marker);
              }
    
    // put the assembled side_bar_html contents into the side_bar div
              document.getElementById("side_bar").innerHTML = side_bar_html;
            }
          }
          request.send(null);
        }
    
        else {
          alert("Sorry, the Google Maps API is not compatible with this browser");
        }
    
        //]]>
        </script>
    

  3. 上の JavaScript で青色文字で示したのは、以下の3箇所である。
    • マーカーに使うアイコン
    • 地図の中心となる経度・緯度と地図の縮尺の大きさ
    • 呼びこんでくる XML ファイル
    この3箇所は作成する地図ごとに書き換えねばならない。
  4. 呼びこんでくる XML ファイルには、
    • マーカーを立てる位置(経度・緯度)
    • リンクする写真のサーバー内のありか
    • ラベル(地図の右フレームに表示する地名)
    をリストする必要がある。このファイルの編集には、私は XML Notepad というソフトを使っている。duplicate 機能があるので楽ちんである。
  5. マーカーを立てる経度・緯度の値は10進法でなければならない。これは、【隠居のGoogle Maps: Picasa を使って野鳥出現地点をプロットする】で記載した方法(2. および 3.)のように Picasa のウェブアルバムで行うと、アルバムにある写真をクリックすると、右フレームに10進法の経度・緯度が表示される。
     Picasa の写真プロパティで表示される EXIF では、表示は 60進法になっている。 Picasa のウェブアルバムの助けを借りるのは、そのためである。
  6. リンクする写真のありか(例えば、 http://n-shuhei.net/xxxx/xxxx/xxxxx.jpg )は、【野鳥の写真サムネイル】で、種別表示をして写真サムネイルの下に表示されているリンク先のエントリーのソースからコピーしてくる。これが、少々煩わしいが、仕方ない。なにかいい方法がないか考えてみたい。
     このようにして作成した小鳥マーカーが表示された地図のサンプルは、以下である。
     Example:
  7. 【野鳥の写真サムネイル】の種別名欄に、【撮影地点地図】 というボタンを置き、これをクリックするとこの地図が、新しい Window で開くようにするために、下のような別の JavaScript を使っている。
    // POPUP Window
    
    function open_win_kawarahiwa(){
    window.open("http://n-shuhei.net/atelier/xxxxx/xxxxxxxxx/API_kawarahiwa_m.htm","","
    menubar=no,toolbar=no,location=yes,status=yes,scrollbars=yes,resizable=yes,
    width=950,height=600,left=50,top=50"); }

    この JavaScripr ファイルを、【野鳥の写真サムネイル】の、種別表示をしているページのHTML の <head> 部分に次のように読み込み、
    <script type="text/javascript" src="http://n-shuhei.net/atelier/xxxxx/xxxxxxxxx/pup_kawarahiwa.js"></script>
    、【撮影地点地図】 というボタンをクリックすると地図が新しい window に開くように、<body> 部の適切な位置に、次のコードを置いた。
    <input type="button" value="撮影地点地図" onClick="open_win_kawarahiwa()">

  8. 作成した地図は、まだカワラヒワだけであるが、順次時間を見て増やしていきたいと思う。泉北ニュータウンのごく限られた地域ではあるが、記録としては面白いのではないかと思っている。
     カワラヒワのプロット地図

2010年8月22日

Jazz Pianists List

Jazz Pianists
ArtistBornDiedActive YearsOriginal
Revised on Aug. 10, 2010
Duke Ellington 1899 .1974 1914-1974 Washington, D.C.
George Gershwin 1898 .1937 1910s - 1930s Brooklyn, New York
Count Basie 1904 1984 1924-1984 Red Bank, New Jersey
Earl Hines 1903 1983 1920s-1960s Duquesne, Pennsylvania
Mary Lou Williams 1910 1981 1920s - 1980s Atlanta, Georgia
Teddy Wilson 1912 1986 1920s - 1980s Austin, Texas
Sun Ra 1914 1993 1934-1993 Birmingham, Alabama
Skitch Henderson 1918 2005 1937-2005. Halstad, Minnesota
Marian McPartland 1918 ---- 1938-present Slough, England
Carmen Cavallaro 1913 1989 1930s-1950s New York, NY
Art Tatum 1909 1956 1930s-1950s Toledo, Ohio
Little Brother Montgomery 1906 1985 1930s--1970s Kentwood, Louisiana
Stan Kenton 1911 1979 1930s-1970s Wichita, Kansas
Charles Thompson 1918 ----- 1930s-N.A. Springfield, Ohio
Bud Powell 1924 1966 1944-1965 New York City, U.S.
Linton Garner 1915 2003 N.A. Greensboro, North Carolina
Erroll Garner 1921 1977 1944-1974 Pittsburgh, Pennsylvania
Hank Jones 1918 2010 1944-2010 Vicksburg, Mississipp
Oscar Peterson 1925 2007 1945-2007 Montreal, Quebec, Canada
Toshiko Akiyoshi 1929 ----- 1946-present Beppu and Tokyo, Japan
George Shearing 1919 .---- 1947-present Battersea, London, UK
Ellis Marsalis 1934 ----- 1949-Present New Orleans, Louisiana
Don Ewell 1916 1983 1940s-1970s Baltimore, Maryland
Thelonious Monk 1917 1982 1940s-1960s Rocky Mount, North Carolina
Al Haig 1924 1982 1940s-1970s Newark, New Jersey.
Joe Bushkin 1916 2004 1940s -- 1980s New York, NY
Jimmy Rowles 1918 1996 1940s -- 1980s Spokane, Washington
George Wallington 1924 1993 1940s-1980s Palermo, Italy
Dorothy Donegan 1916 1998 1940s-1990s Chicago, IL
Duke Jordan 1922 2006 1940s-1990s New York, NY
Dave McKenna 1930 2008 1940s-1990s Woonsocket, RI
Bob Florence 1932 2008 1940s-2000S Los Angeles
Dave Brubeck 1920 ---- 1940s-present Concord, California
Gerald Wiggins 1922 2008 1940s-2000s New York City
Billy Taylor 1921 ----- 1940s-current Greenville, North Carolina
Barbara Carroll 1925 ---- 1940s---- Worcester, Massachusetts
Ralph Sharon 1923 ----- 1940s-present London, England
Andre Previn 1929 ---- 1940s-current Berlin, Germany
Buddy Montgomery 1930 ---- 1940s-present Indianapolis, Indiana
Sonny Clark 1931 1963 1951-1963. Herminie, PA
John Williams 1932 ---- 1952 - present Long Island, New York
Vince Guaraldi 1928 1976 1953-1976 San Francisco, California
Johnny Costa 1922 1996 1955-1996 Arnold, Pennsylvania
Gene Harris 1933 ----- 1955 - 2000 Benton Harbor, Michigan
Abdullah Ibrahim 1934 ---- 1955-present Cape Town, South Africa
Monty Alexander 1944. ---- 1958-present Kingston, Jamaica
Bobby Troup 1918 1999 1950s-1960s Harrisburg, PA
Elmo Hope 1923 1967 1950s-1960s New York, NY
Walter Bishop, Jr. 1927 1998 N.A. Harlem
Red Garland 1923 1984 1950s-1970s Dallas, TX
Lennie Tristano 1919 1978 1950s-1970s Chicago, IL
Hampton Hawes 1928 1977 1950s-1970s Los Angeles, California
Phineas Newborn, Jr. 1931 1989 1950s-1970s Whiteville, Tennessee
Wynton Kelly 1931 1971 1950s--1970s Brooklyn
Bobby Timmons 1935 1974 1950s-1970s Philadelphia
John Bunch 1921 2010 1950s-1980s Tipton, Indiana
John Eaton 1934 ---- 1950s-1980s Washington D.C.
James Booker 1939 1983 1950s-1980s New Orleans, Louisiana
Dick Wellstood 1927 1987 1950s-1980s Greenwich, CT
Bill Evans 1929 1980 1950s-1980s Plainfield, New Jersey
Clare Fischer 1928 ---- 1950s - 1990s Durand, MI
Walter Norris 1931 ------ 1950s--1990s Little Rock, AR
Pete Jolly 1932 2004 1950s-1990s New Haven, Connecticut
Bobby Enriquez 1943 ----- 1950s-1990s Bacolod City, Philippines
Russ Freeman 1926 2002 1950s - 1980s Chicago, IL
Mal Waldron 1925 2002 1950s-2000s New York City
Kenny Drew 1928 1993 1950s-1990s New York, NY
John Hicks 1941 2006 1950s-2000s Atlanta, Georgia
Ray Bryant 1924 ----- 1950s - present Philadelphia, Pennsylvania
Randy Weston 1926 ----- 1950s - Present Brooklyn, New York
Junior Mance 1928 ---- 1950s-present Evanston, Illinois
Barry Harris 1929 ---- 1950s-present Detroit, Michigan
Johnny Varro 1930 ---- 1950s-present Brooklyn, New York
Roger Kellaway 1939 ----- 1950s - present Waban, Massachusetts
Ahmad Jamal 1930 ---- 1950-present Pittsburgh, Pennsylvania
Horace Parlan 1931 ----- 1950s-present Pittsburgh, Pennsylvania
Cedar Walton 1934 ---- 1950's - present Dallas, Texas
Kenny Barron 1943 ---- 1950s-present Philadelphia
McCoy Tyner 1938 ----- 1960-present Philadelphia, Pennsylvania
Herbie Hancock 1940 ----- 1961-present Chicago, Illinois
Manfredo Fest 1936 1999 1962-1997 Brazil
Bob James 1939 ----- 1962-present Marshall, Missouri
Adam Makowicz 1940 ---- 1965-present Polish
Chick Corea 1941 ---- 1966 - present Chelsea, Massachusetts
Keith Jarrett 1945 ---- 1966 - present Allentown, Pennsylvania
Peter Nero 1934 ----- 1960s-1970s Brooklyn, New York
Tommy Flanagan 1930 2001 1960s-1980s Detroit, Michigan
Bob Degen 1944 ----- 1960s-1990S Scranton, Pennsylvania
Les McCann 1935 ---- 1960s-present Lexington, Kentucky
Mike Wofford 1938 ---- 1960s-present San Antonio, Texas,.
Steve Kuhn 1938 ---- 1960s-present Brooklyn, New York City
Charles Gayle 1939 ---- 1960's - present Buffalo, NY
Stanley Cowell 1941 ---- 1960s-present Toledo, Ohio)
George Cables 1944 .----- 1960s - present New York City
Jessica Williams 1948 ---- 1960s -- present altimore, Maryland
Dick Hyman 1927 ----- 1970s-1990s New York, New York
Tommy Banks 1936 ----- 1970s-1990s Calgary, Alberta,Canada
Alan Broadbent 1947 ---- 1974-current Auckland, New Zealand.
Kirk Lightsey 1937 ---- 1970s-1990s Detroit, Michigan
Hal Galper 1938 ----- 1970s-1990s Salem, Massachusetts
Tom Coster 1941 ----- 1970s-1990s Detroit
Dave Frishberg 1933 ---- 1970s-present Saint Paul, Minnesota
Andy LaVerne 1947 ---- 1970s-current New York City
Kenny Werner 1951 ---- 1970s-present Brooklyn, NY
Alan Pasqua 1952 ---- 1970s-current Roselle Park, New Jersey
Wayne Horvitz 1955 ------ 1970s--present Seattle, Washington
Mike LeDonne 1956 ---- 1970s-present Bridgeport, Connecticut.
Billy Childs 1957 ----- 1970s-current Los Angeles.
Jesse Green 1971 ---- 1970s-present United States
Clive Lythgoe 1927 2006 1980s - 2000s Colchester, Essex,UK
Michel Petrucciani 1962 1999 1980s Orange, France
Misako Kano N.A. ---- 1980s-1990s Japan
Eric Watson 1955 ----- 1980s--Current Wellesley, MA
Fred Hersch 1955 ---- 1980s---- Cincinnati, OH
Michel Camilo 1954 ----- 1980s-present Santo Domingo, Dominican Republic
Laszlo Gardony 1956 ---- 1980s-present Hungary
Ted Rosenthal 1959 ----- 1980s-present Great Neck, Long Island
Jan Lundgren 1966 ---- 1986?-present Kristianstad, Sweden
Benny Green 1963 ---- 1980s---- New York City
Joe Krown N.A. N.A. 1980s-present Westbury, Long Island, New York
Big Tiny Little 1930 2010 1990s Worthington, Minnesota
Christian Jacob 1958 ---- 1990s - present Lorraine, France
Mike Jones 1962 ---- 1990s-present N.A.
Carsten Dahl 1967 ---- 1990s---- Danish
Eric Reed 1970 ----- 1990s--Current Philadelphia, Pennsylvania
Taylor Eigsti 1984 ----- 1990s-present Menlo Park, CA
Frank Hewitt 1935 2002 2000s Queens
Mark Levine 1938 ---- 2000s-present Concord, NH
European Jazz Trio 1967 ---- 2000s-- The Hague, Netherlands
Michael Allen Harrison N.A. ----- N.A.-present Portland,

2010年3月23日

Jazz Vocal Artists 一覧

 Radio Senboku でJazz Vocal Artists の特集を組んだときに、そこで流す Vocalists の一覧をつくった。この一覧は、Web Page に置くのが適切と思われるので、テーブル部分をこちらに移した。

Jazz Vocalists
ArtistBornDiedActive YearsOrigin
Revised on Dec. 13th, 2009
Irving Berlin 1888 1989 1907-1971 Tyumen, Russian Empire
King Oliver 1885 1938 1910s---1930s Aben, Louisiana, USA
Sophie Tucker 1884 1966 1910s--1960s Czarist Russia
Cole Porter 1891 1964 -- Peru, Indiana
Barbara Lea N.A. -- 1910 -- Ypsilanti, Michigan
Noel Coward 1899 1973 1911-1973 Teddington, Richmond upon Thames, England
Louis Armstrong 1901 1971 1914-71 New Orleans, Louisiana
Duke Ellington 1899 1974 1914-1974 Washington, D.C.
Alberta Hunter 1895 1984  1914 -- 1984  Memphis, Tennessee
Gertrude Lawrence 1898 1952 1916--1951 London, England, UK
Ted Lewis 1892 1971 1917 - 1968 Circleville, Ohio
Fred Astaire 1899 1987 1917-1981 Omaha, Nebraska
Julia Lee 1902 1958 1920s--1950s Boonville, Missouri
Dorothy Fields 1905 1974 1920s -- 1970s Allenhurst, New Jersey
Earl 'Fatha' Hines 1903 1983 1920s -- 1960s Duquesne, Pennsylvania
Junie Cobb 1896? 1970? 1920s--1960s Hot Springs, Arkansas
Juanita Hall 1901 1968 1920s-1960s Keyport, New Jersey
Billie Pierce 1907 1974 1920s--1970s New Orleans
Big Joe Turner 1911 1985 1920s - 1980s Kansas City, Missouri
Adelaide Hall 1901 1993   1920s -- 1990s  Brooklyn, New York
Milt Hinton 1910 2000 1920s---1990s Vicksburg, Mississippi
Eddie Condon 1905 1973 1921 -- 1973 Goodland, Indiana
Judy Garland_ 1922 1969 1924-1969 Grand Rapids, Minnesota
US Navy Band ----- ---- 1925-present Washington, D.C.
Bing Crosby 1903 1977 1926-1977 Tacoma, Washington
Lionel Hampton 1908 2002 1927-2002 Louisville, Kentucky
Frances Faye 1912 1991 1927-- 1991 Brooklyn, New York City
The Mills Brothers ---- ----- 1928-1982 Piqua, Ohio
Sandra Booker N.A. N.A. 1930s New Orleans,
The Ink Spots -- -- 1931 - 1964 Indianapolis, Indiana
Nat Gonella 1908 1998 1930s, 1940s London, England
Lee Wiley 1908 1975 1930s--1950s Fort Gibson, Oklahoma
Stan Kenton 1911 1979 1930s-1970s Wichita, Kansas
Woody Herman 1913 1987 1930s---1980s Milwaukee, Wisconsin
Cab Calloway 1907 1994 1930s -- 1990s Rochester, New York
Les Brown 1912 2001 1930s---1960s Reinerton, PA
Maxine Sullivan 1911 1987 1930s--1970s Homestead, Pennsylvania
Jo Stafford 1917 2008 1930s-1977 Coalinga, California
Johnny Mercer 1909 1976 1930 - 1976 Savannah, Georgia
Jackie Washington 1919 2009 1930 - 2009 Milwaukee, Wisconsin
Jay McShann 1916 2006 1931 - 2006 Muskogee, Oklahoma
Frandes Langford 1913 2005 1932-1956 Lakeland, Florida
Billie Holiday 1915 1959 1933--1959 Harlem, New York
Mel Torme 1925 1999 1933-1999 Chicago, Illinois
Ella Fitzgerald 1917 1996 1934-1993 Newport News, Virginia
Sun Ra 1914 1993 1934-1993 Birmingham, Alabama
Anita O'Day 1919 2006   1934 - 2006 Chicago, Illinois,
Edith Piaf 1915 1963 1935-1963 Belleville, Paris, France
Dizzy Gillespie 1917 1993 1935--1993 Cheraw, South Carolina.
Frank Sinatra 1915 1998 1935-1995 Hoboken, New Jersey
Dinah Shore 1916 1994 1937-1994 Winchester, Tennessee
June Christy 1925 1990 1938 - 1965, 1977 Springfield, Illinois
Paul Gonsalves 1920 1974 1938-1974 Brockton, Massachusetts
Betty Comden 1917 2006 1938 -- New York City
Kay Starr 1922 --- 1939-1950s Dougherty, Oklahoma
Doris Day 1922 -- 1939-1987 Cincinnati, Ohio
Orrin Tucker 1911 ----- 1939 - 1990s St. Louis, Missouri
Arne Domnerus 1924 2008 N.A. Sweden
Earl Coleman 1925 1995 1940s -- 1980s Port Huron, Michigan
Helen Forrest 1917 1999 1940s -- 1960s Atlantic City, New Jersey
Hadda Brooks 1916 2002 1940s - 2000s Los Angeles, California
Julie Andrews 1924 ---- 1940s-present Omaha, NE
King Pleasure 1922 1981 1940s---1960s Oakdale, Tennessee
Eddie Jefferson 1918 1979 1940s -- 1970s Detroit, MI
Erskine Hawkins 1914 1993 1940s -- 1980s . Birmingham, AL
Helen Humes 1913 1981 1940s -- 1980s Louisville, Kentucky
Jimmy Witherspoon 1920 1997 1940s - 1990s Gurdon, Arkansas
Ernestine Anderson 1928 -- 1940s -- 2000s Houston, Texas
Jackie Cain 1928 --- 1940s-- Milwaukee, Wisconsin
Julie Wilson 1924 ----- 1940s-- Omaha, Nebraska
Vaughn Monroe 1911 1973 1940-1963 Akron, Ohio
Peggy Lee 1920 2002 1941-2000 Jamestown, North Dakota
Sheila Jordan 1928 ----- 1941- Detroit, Michigan
Betty Roche 1920 1999 1941 -- N.A../td>
Sarah Vaughan 1924 1990 1942-1989 Newark, New Jersey
Dinah Washington 1924 1963 1943 - 1963 Tuscaloosa, Alabama
Etta Jones 1928 2001 1943-2001 New York, New York
Perry Como 1912 2001 1943? - 2001? Canonsburg, Pennsylvania
Barbara Lea 1929 -- 1943 -- Detroit, Michigan
Betty Johnson 1929 -- 1943 -- Guilford County, NC.
Carmen McRae 1920 1994 1944 - 1994 New York City, New York
Ernestine Allen 1920 1992 1945--1990 Champaign, Illinois
Oscar Peterson 1925 2007 1945-2007 Montreal, Quebec, Canada
Annisteen Allen 1920. 1992 1945-N.A. Champaign, Illinois
Lavern Bake 1929 1997 1946-1967
1988-1991
Chicago, Illinois
Rosemary Clooney 1928 2002 1946-2001 Maysville, Kentucky
George Melly 1926 2007 1946 - 2007 Liverpool, England
Ray Charles 1930 2004 1947-2004 Greenville, Florida
Julie Andrews 1935 ---- 1947-present Julia Elizabeth Wells
George Shearing 1919 ----- 1947-presen Battersea, London, UK
Al Martino 1927   2009 1948 -- 2009  Philadelphia, Pennsylvania
Patti Page 1927 ----- 1948 - present Claremore, Oklahoma
Ray Price 1926 ----- 1948 - Present Perryville, Texas
Tony Bennet 1926 ----- 1949-present New York City,
Lucky Lucy Ann 1928 ---- 1950s N.A.
Dorothy Loudon 1933 2003 1950s -- 1970s Boston, Massachusetts
Lennie Tristano 1919 1978 1950s---1970s Chicago, IL
Della Griffin 1925 N.A. 1950s -- 1990s Newberry, South Carolina
Larry Gales 1936. 1995 1950s-1990s N.A.
Jaye P Morgan 1931 ---- 1950s--- 1990s Mancos, CO
Abbey Lincoln 1930    1950s -- 2000s Chicago, Illinois.
Bobby Durham 1937 2008 1950s - 2000s Philadelphia, Pennsylvania
Keely Smith 1932 --- 1950s-- Norfolk, Virginia
Caterina Valente 1931 ---- 1950s--- Paris
Joe Williams 1918 1990 1950s, 1960s Cordele, Georgia
Jimmy Scott 1925 ---- 1950s---1990s Cleveland, Ohio
Chris Connor 1927 2009 1950s -- 2000s Kansas City, Missouri
Ernie Andrews 1927 -- 1950s -- Philadelphia, Pennsylvania
Oscar Castro-Neves 1940 ----- 1950s- Rio de Janeiro, Brazil
James Darren 1936 ---- 1950s - Philadelphia, PA
John Eaton 1934 --- 1950s--- Washington D.C.
Mark Murphy 1932 ---- 1950s-present Fulton, New York
Mary Stallings 1939 ---- 1950s - Present San Francisco, CA
Cleo Laine 1927 -- 1950-present Southall, Middlesex, England
Carol Channing 1921 -- 1950-present Seattle, Washington
Gloria Lynne 1931 -- 1951-- New York City
Barbara Cook 1927 -- 1951- Atlanta, Georgia
Joni James 1930 ---- 1952-1964 Chicago, Illinois
Annie Ross 1930 --   1952 -- Mitcham, London, UK
Lloyd Price_ 1933 ---- 1952 - present Kenner, Louisiana
Shirley Bassey 1937 ----- 1953-present Tiger Bay, Cardiff, Wales
The Hi-Lo's ---- ----- 1953-present N.A.
Patti Austin 1950 ----- 1953-Present Harlem, New York
Caterina Valente 1931 -- 1953-present Paris
David 'Fathead' Newman 1933 2009 1954 -- 2009 Corsicana, Texas
Sylvia Syms 1934 ---- 1955-present Woolwich, London, England
Nina Simone 1933 2003 1954--2003 Tryon, North Carolina
Diahann Carroll 1935 -- 1954-present Bronx, New York
Etta James 1938 -- 1954 - present Los Angeles, California
Sathima Bea Benjamin 1936 ----- 1955-present Johannesburg, South Africa
Neil Sedaka 1939 ----- 1955-present Brooklyn, New York
Bobby Darin 1936 1973 1956 - 1973 Bronx, New York
Willie Nelson 1933 ---- 1956-present Abbott, Texas
Mina 1940 ----- 1958-present Cremona, Lombardy, Italy
Ernestine Anderson 1928 ---- 1958-present Houston, Texas
Bill Ramsey 1931 -- 1958 -- Cincinnati, Ohio
Joanie Sommers 1940 --- 1960s-1970s, 1980s Buffalo, New York
Jack McDuff 1926 2001 1960s--1990s Champaign, Illinois
George Younce 1930 2005 1960s--2000s Patterson, North Carolina
Zan Gardner N.A. 2007 N.A. N.A.
Grady Tate 1932 -- 1960s-- Durham, North Carolina
Nancy King 1940 --- 1960s-- Eugene, OR
Swingle Singers ---- ---- 1962-- Paris, France
Candy Johnson 1944 -- 1960s San Gabriel, California
Sue Raney 1940 ----- 1960s McPherson, KS .
Freddy Cole 1931 -- 1960s Chicago, IL
Tim Ballard 1848 2009 1960s - 2000s? Westminster, CO(home)
Patty Waters 1946 ----- 1960s - present Iowa
The Marvelettes ---- ----- 1960s, 1970s Inkster, MI
Peggy March 1948 ----- 1962 - present Lansdale, Pennsylvania,
Bonnie Bramlett 1944 -- 1965-present Alton, Illinois
Madeline Bell 1942 ---- 1965-present Newark, New Jersey
Bill Henderson 1944 -- 1966 -- Vancouver, BC, Canada
Lavay Smith N.A. --- 1967-- Southern California
Bobby Caldwell 1951 -- 1968-present Manhattan, New York
Lucie Arnaz 1951 ---- 1968 - present Los Angeles, California
John Greaves 1950 --- 1969 - present Prestatyn, North Wales
Earth, Wind & Fire -- -- 1969 -- Chicago, Illinois
The Manhattan Transfer ---- ----- 1969-present N.Y.
Marie Bergman 1950 ---- 1969-present Stockholm
Rita Coolidge 1945 ----- 1969-Present Lafayette, Tennessee
Omar & The Howlers ---- ----- 1970s, 1990s Austin, TX
Susannah McCorkle 1946 2001 1970s--1990s Berkeley, California
Andy Bey 1939    1970s -- 2000s Newark, New Jersey
Carol Sloane 1937 -- 1970s-present Providence, Rhode Island
Daryl Sherman 1949 -- 1970s-present Woonsocket, RI
Paul Finnerty 1951 ----- N.A. - present Summer Hill, Australia
Helen Schneider 1952 -- 1970s-- Brooklyn, New York City
Lauren Newton 1952 --- 1970s-- Coos Bay, Oregon
Inge Brandenburg 1929 1999 1970s-- Leipzig, Germany
Jay Leonhart 1940 ---- 1970s--- Baltimore, MD
Tina May 1961 ---- 1970s --- Gloucester, England
Rene Marie 1955 ----- 1970s-Present Warrenton, VA
Meredith d'Ambrosio 1941 1999 1970s- Boston, MA
Tania Maria 1948 ---- 1971-Present S?o Lu?s, Maranh?o, Brazil
Tom Grant 1946 ---- 1971-present Portland, Oregon
Natalie Cole 1950 ---- 1975-present Los Angeles, California
Richard Clayderman 1953 ----- 1976 - Present Paris, France
Elvis Costello 1954 -- 1977- London, England
Marilyn Scott 1949 ---- 1978-present Altadena, California
Diane Schuur 1953 -- 1979-Present Tacoma, Washington
Alex Ligertwood 1946    -- Glasgow
Amanda McBroom 1947    1980s -- 1990s Burbank, CA
Mary Cleere Haran 1952 ---- 1980s, 1990s San Francisco, CA
Nancy Lamott 1951 1995 1980s, 1990s, Midland, Michigan
Andrea Marcovicci 1948    1980s -- 2000s New York City, New York
Bobby Sanabria 1957 -- 1980s - 2000s South Bronx, New York City
Curtis Stigers 1965 -- 1980s-present Hollywood, CA
Matt Catingub 1961 ---- 1980s - Present North Hollywood, CA
Frank Stallone 1950 -- 1980s- Moscow, Russia
Joey DeFrancesco 1971 --- 1980s--- Philadelphia, Pennsylvania
Katchie Cartwright 1952 --- 1980s-present N.A.
KT Sullivan N.A. --- 1980s-Present Boggy Depot, OK
Nancy Marano N.A. ---- 1980s---- N.A.
Soesja Citroen N.A. ----- 1980s--present The Hague, The Netherlands
Stephanie Nakasian 1954 ----- 1980s--- Washington, D.C.
Bruce Hornsby 1954 -- 1984 -- Williamsburg, Virginia
Ranee Lee 1942 ----- 1984--- New York City
The Real Group ---- ----- 1984 - present Sweden
Diana Krall 1964 -- 1985 -- present Nanaimo, British Columbia
Liberty Silver 1962 ---- 1985--- Detroit, Michigan
Rebecca Parris 1951 ----- 1985-Present Newton, Massachusetts
Anne Ducros 1959 --   1986 -- France
Michael Feinstein 1956 ---- 1986--present Columbus, Ohio
Karrin Allyson 1963 --- 1987-present Great Bend, Kansas
The Mighty Echoes ---- ----- 1987-present Los Angeles, California
New York Voices ----- ---- 1987-present New York?
Kitty Margolis 1955 --- 1989-Present San Mateo, California
Dennis Rowland 1948 -- 1990s Detroit, Michigan
Evan Christopher 1974 -- 1990s- Long Beach, California,
Loretta Cormier N.A. ---- 1990s---present San Antonio, TX
Kate McGarry 1970 --- 1990s-present Hyannis, MA
Big Kahuna & The Copa Cat Pack -- -- 1990s, 2000s --
Billy Stritch 1962 -- 1990s, 2000s
Gertrude Lawrence N.A. -- 1990s-- in CT
Jacqui Dankworth 1963 ---- 1990s - Northamptonshire, England
Gina Roche N.A. -- 1990s-- Philadelphia, Pa
Jenna Mammina N.A. ---- 1990s--- St. Joseph, Michigan
Joanie Pallatto N.A. --- 1990s- Xenia, Ohio
Joanne O'Brien N.A. --- 1990s--- N.A.
Richard ''Cookie'' Thomas 1947 ----- 1990s - Present N.A.
Sally Mayes N.A. ---- 1990s--- Livingston, Texas,
LaVerne Butler N.A. ---- 1990-- Shreveport, Louisiana
Giacomo Gates N.A. ---- 1990s--- CT
Angela McCluskey N.A.    1992 - Glasgow, Scotland
Leonie Smith 1961 ---- 1992--- N.A.
Ann Hampton Callaway 1958 --   1993 -- N.A.
Lynette Washington N.A. ---- 1990s - Present New York
Cris Barber 1961 -- 1995-present Los Angeles, California
Stacey Kent 1968 ---- 1996 - present South Orange, New Jersey
Fay Claassen 1969 -- 1997- Nijmegen The Netherlands
Chie Ayado 1957 -- 1998-present Osaka, Japan
Jim Jones 1976 ---- 1998-Present New York City
Swingin' Fireballs ---- ---- 1999-- Germany?
Erin Bode N.A. -- 2000- St. Louis, Missouri
Abigail Riccards 1980    2000s N.A.
Benoit Jazz Works -- -- 2000s Ypsilanti, Michigan
John Proulx N.A. --- 2000s Grand Rapids, Michigan
Bianca Pittoors N.A. -- 2000S? Winnipeg, Manitoba
Liz Diamond 1927 ---- 2000s New York City
Carla Cook N.A. -- 2000s Detroit, Michigan
Christiana Drapkin N.A. -- 2000s N.A.
Cleve Douglass 1964 -- 2000s N.A.
Don Shelden N.A. -- 2000s N.A.
The John Allmark Jazz Orchestra --- --- 2000s ----
Suzanne Cloud N.A. ---- 2000s Collingswood, NJ(home)
Jonathan Poretz N.A. ---- 2000s N.A.
Linda Ciofalo N.A. ---- 2000s N.A.
Michael Allen Harrison N.A. ---- 2000s? Portland, Oregon
Nicki Parrott N.A. ---- 2000s Newcastle, Australia
Tecora Rogers N.A. ---- 2000s Chicago, Illinois
Rita Edmond N.A. ----- 2000s? N.A.
Rondi Charleston N.A. ----- 2000s? N.A.
Peter Martin 1970 ----- 2001?--- St. Louis, Missouri
OSI ---- ----- 2003-present US
Mike Bones 1980 ---- 2006-present Bloomfield, New Jersey
Jennifer Scott N.A. ---- N.A. Vancouver, BC, Canada


2010年3月21日

隠居のMT備忘録:Lightbox のカスタマイズ

Internet Explorer 8(IE8:WindowsXP)に変えてから、私が管理しているブログのうち2つのブログ(Atelier Shuhei Weblog と Studio YAMAKO) メインページで lightboxの不具合が起こった。背景が黒くならない。個別ページでは、正常に表示されている。ただ、管理している3つのブログの一つ、Masjii's Blog では上手く機能している。
今まで学習したことを調べたり、ネットでサーチしてみても原因がわからない。両者のソースコードやStylesheet を1ヶ月以上かけて仔細に調べてみたが、全く解決の糸口が見つからなかった。

 先日、Atelier Shuhei Weblog をIE8 のWindows画面を開けようとすると、次のようなエラーメッセージのポップアップ画面が出て停止した。
HTML Parsing Error: Unable to modify the parent container element before the child element is closed

 このエラーについて調べると、どうやら DOM という API に関連しているらしい。DOM については全く知識がないが、どうやらプログラムとくに JavaScript の実行順序が起因しているように思われた。
そこから類推して、Atelier Shuhei Weblog Studio YAMAKOのメインページには、JavaScript を多用した Lightbox で開く写真が沢山あるので時間がかかるのではないか、それが原因ではないかと思われた。Masjii's Blog には、写真はあまりなくテキストが中心である。

 そこで、MovableType4.2 の「ブログ記事の設定」で、表示数を 30 から 10 に変更すると、写真の背景は黒くなり正常に表示されるようになった。Masjii's Blog はもともと10 ブログ記事だけの表示になっていた。メインページの表示が10 件だけでも問題は余りないと思われる。

 懸案の問題が解消したので、解決策をネットでサーチしている中で見つけた lightbox のカスタマイズを参考にいじってみた。以前にも、画面を「閉じる」「Next」「Back」ボタンをカスタマイズしている。
 今回は、写真の台紙を従来の白から薄緑色に(それに伴って、キャプチャーの文字を白に)、背景の overlay を黒一色から模様入りの壁紙風に変えてみた。 Studio YAMAKOの背景は、蝶の柄が入った壁紙にしてみた。私のは青空である。
 三つを並べてみたい。
sample1:Atelier Shuhei Weblog sample2:Masajii's weblogsample3:Studio Yamako

2010年1月29日

Google Maps API で旅行地図を作る:線画を描くなど

 Studio YAMAKO さんのオーナーが、昨秋、中欧(ドイツ・チェコ・スロバキア・ハンガリー・オーストリア)を旅行したときの写真をコメント付きで、12 回に分けて投稿されている。
 これを題材に、Google Maps API を使って、旅行地図を作ってみた。今まで、何回か同じような旅行地図を作成しているが、今回はいくつかの新しい試みをしてみたので、いままでに学習したことも含めて、備忘録として記録しておきたい。

 Google Maps API を使って、Web ページ上に自作地図を埋め込むには、
  • HTML(CSSを含む): 自分で Web ページが作れる。
  • JavaScript: 簡単な文法が分かる。
  • XML: タグの意味が分かるなど文法がわかる。
の知識が必要であるが、基本的な文法さえ知っておればなんとかなる。それ以上の細かいことは、ネット上で検索すれば教えてくれるサイトが沢山ある。どのサイトが親切かを知っている方が重要である。私は、英語のページであるが、 w3schools.com を重宝している。体系的によくまとめられており、独習にもってこいである。
 また、Google Maps API でWeb ページ上に地図を埋め込むには、サンプル・コードがネット上で提供されているので、これを Copy&Paste して、自分用に修正し利用すればよい。詳細な部分は、理解しようとすると学習に時間がかかる。ただ、自分用に修正するときに、上のような基本的な知識は必要だろう。
 サンプル・コードはいろいろなサイトで提供されているが、私は、これも英語のサイトであるが、"Google Maps API Tutorial" のコードを主として参照させてもらっている。自分のやりたいことが、整理された形で提供されている。
 今回、地図上に線を描くサンプル・コードは、XMLファイルを使いたいこともあって、このサイトのコードを自分なりに修正して使用した。
日本語のサイトでは、Ajax Tower の「Google Maps入門」に多くのサンプル・コードがある。
 書籍は、「Google Maps API 徹底活用ガイド」を購入した。Google Maps API の基本的なユティリティが解説されているので、理解を助けてくれる。

 今回作った地図は、次のような構成になっている。
  1. 中欧の全体地図: 訪問した都市に通常マークred-dot.pngが表示される。
    1. このマークをクリックするか、地図の右欄にある地名をクリックすると、吹き出しが表示される。
    2. 吹き出しの中に表示されている「詳細地図」をクリックすると市街地図にリンクする。
    3. 各都市間をブルーのラインで訪問順に結んでいる。
  2. 市街地図:初期に表示する地図のタイプを航空写真にしている。
    1. 地図の右欄にある場所のチェックボックスをクリックすると番号入りマークが表示される。
    2. 場所名の下の青字をクリックすると写真が lightbox 形式で表示される。
  3. いずれの地図にも、地図を拡大・縮小できるコントロール、地図のタイプを切り替えるボタン、地図の縮尺をあらわすスケールが表示されている。

   これらの地図は、上記に記したサイトからいただいてきたコードを猿まねで自分なりに修正したものである。
中欧の全体地図は、HTML ファイルのなかにある Javascript で XMLファイルを呼び込んでいる。この Javascript の中で、Google Maps API が提供するユティリティが使われている。 具体的なコードを以下に示す。

全体地図用HTML(include Google Maps API JavaScript)
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">

<head>
<style type="text/css">
    v\:* {   behavior:url(#default#VML);   }
    </style>
<title>Google Maps</title>
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=???????????-TOJLbO9UBLVgjJC7W8hRCNFlWI0Fg132ssdjgyNcr14mm9hSKsn5??????????????_Ypmz1A" charset="utf-8" type="text/javascript"></script>
	
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />	

<!-- POPUP Window -->
<script type="text/javascript" src="http://n-shuhei.net/script/delcash.js"></script>

</head>

<body onunload="GUnload()">
<div align="center"> 
<table border="1" width="auto" cellspacing="0">
<thead><tr>
<td bgcolor="#FFFFCC" align="center" colspan="2"><font color="#000000"><strong><big>中欧(ドイツ・チェコ・スロバキア・ハンガリー・オーストリア)を巡る旅</big></strong><br /><small>Internet Explorer で問題が出る場合は、キャッシュを消去してください。<input type="button" value="消去方法" onClick="open_win()"></small></font></td></tr>
</thead>
<tbody>
<tr><td><div id="map" style="width: 760px; height: 500px"></div></td>
<td width ="160px" valign="top" style="color: #000000; font-size: small;" align="left">
左の地図は、Google Mapsの機能を持っています。拡大・縮小・移動ができます。下の地名をクリッ
クすると該当位置に吹き出しが出ます。吹き出しの中のリンクをクリックすると詳細地図あるいは
関連投稿に飛びます。<br /><br /><div id="side_bar"></div></td></tr>
</tbody>
</table>
</div>

<noscript><b>JavaScript must be enabled in order for you to use Google Maps.</b> However,
it seems JavaScript is either disabled or not supported by your browser. To view Google
Maps, enable JavaScript by changing your browser options, and then try again.
</noscript>

<script type="text/javascript">
    //<![CDATA[

    if ( GBrowserIsCompatible()) {
// this variable will collect the html which will eventualkly be placed in the side_bar
     var side_bar_html = "";
// arrays to hold copies of the markers and html used by the side_bar
// because the function closure trick doesnt work there
      var gmarkers = [];
      var htmls = [];
      var i = 0;

// A function to create the marker and set up the event window
      function createMarker(point,name,html) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
// save the info we need to use later for the side_bar
        gmarkers[i] = marker;
        htmls[i] = html;
        // add a line to the side_bar html
        side_bar_html += '<a href="javascript:myclick(' + i + ')">' + name + '</a><br>';
        i++;
        return marker;
      }

// This function picks up the click and opens the corresponding info window
      function myclick(i) {
        gmarkers[i].openInfoWindowHtml(htmls[i]);
      }

// create the map
      var map = new GMap2(document.getElementById("map"));
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      map.addControl(new GScaleControl());
      map.setCenter(new GLatLng(48.810481,14.315529), 6);
//    map.setMapType(G_HYBRID_MAP);

// Read the data from xml file
      var request = GXmlHttp.create();
      request.open("GET", "http://n-shuhei.net/????????/Polyline_ex_1.xml", true);
      request.onreadystatechange = function() {
        if (request.readyState == 4) {
          var xmlDoc = request.responseXML;
// obtain the array of markers and loop through it
          var markers = xmlDoc.documentElement.getElementsByTagName("marker");
          
          for (var i = 0; i < markers.length; i++) {
            // obtain the attribues of each marker
            var lat = parseFloat(markers[i].getAttribute("lat"));
            var lng = parseFloat(markers[i].getAttribute("lng"));
            var point = new GLatLng(lat,lng);

            var html = markers[i].getAttribute("html");
            var label = markers[i].getAttribute("label");
// create the marker
            var marker = createMarker(point,label,html);
            map.addOverlay(marker);

           }
// put the assembled side_bar_html contents into the side_bar div
          document.getElementById("side_bar").innerHTML = side_bar_html;
 
// ========= Now process the polylines =====================
          var lines = xmlDoc.documentElement.getElementsByTagName("line");
// read each line
          for (var a = 0; a < lines.length; a++) {
// get any line attributes
            var colour = lines[a].getAttribute("colour");
            var width  = parseFloat(lines[a].getAttribute("width"));
// read each point on that line
            var points = lines[a].getElementsByTagName("point");
            var pts = [];
            for (var i = 0; i < points.length; i++) {
               pts[i] = new GLatLng(parseFloat(points[i].getAttribute("lat")),
                                   parseFloat(points[i].getAttribute("lng")));
            }
            map.addOverlay(new GPolyline(pts,colour,width));
          }
// ===========================================================           
        }
      }
      request.send(null);
    }

    else {
      alert("Sorry, the Google Maps API is not compatible with this browser");
    }
// This Javascript is based on code provided by the
// Blackpool Community Church Javascript Team
// http://www.commchurch.freeserve.co.uk/   
// http://www.econym.demon.co.uk/googlemaps/

    //]]>
    </script>

   </body>
</html>

このコードでの学習した点は、114行目あたりの各都市間を訪問順に結んでいるブルーのライン(Google Maps API では、polyline という)を描くための Javascript 挿入することである。この polyline を描くのは、IE8 では次の処理をしなくてもいいらしいが、IE7 以下では、HTML 上部(head 部より前)に、
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
という記述が(斜め書き部分)必要であり、head 部分に次のスタイルを設定する必要がある。
<style type="text/css">
    v\:* {   behavior:url(#default#VML);   }
    </style>

呼び込んでくる XML ファイル
<?xml version="1.0" encoding="Shift_JIS"?>
<markers>
<marker lat="49.40187" lng="8.680401" html="Heidelberg &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_heidelberg.htm' target='_blank'&gt;ハイデルベルク詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="ハイデルベルク" ></marker>
<marker lat="49.379691" lng="10.180206" html="Rothenburg &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_rothenburg.htm' target='_blank'&gt;ローテンブルク詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="ローテンブルク" ></marker>
<marker lat="47.680125" lng="10.900841" html="Wieskirche &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/091124_001.jpg'  target='_blank'&gt;Photo:ヴィース教会&lt;/a&gt;&lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/091124_002.jpg'  target='_blank'&gt;Photo:ヴィース教会の内部&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="ヴィース教会" ></marker>
<marker lat="47.546872" lng="10.739136" html="Hohenschwangau &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_Hohenschwangau.htm' target='_blank'&gt;ホーエンシュヴァンガウ詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="ホーエンシュヴァンガウ" ></marker>
<marker lat="49.014906" lng="12.104187" html="Regensburg &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_Hohenschwangau.htm' target='_blank'&gt;レーゲンスブルク詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="レーゲンスブルク" ></marker>
<marker lat="50.082701" lng="14.422302" html="Praha &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_Praha.htm' target='_blank'&gt;プラハ詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="プラハ" ></marker>
<marker lat="48.810481" lng="14.315529" html="Cesky Krumlov &lt;br&gt;詳細は、&lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/08_1653.php' target='_blank'&gt;中欧旅行 その8 チェスキー・クルムロフ&lt;/a&gt;で。&lt;br&gt;(2009/11/4)" label="チェスキー・クルムロフ" ></marker>
<marker lat="48.143182" lng="17.112579" html="Bratislava &lt;br&gt;詳細は、&lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/11_0858.php' target='_blank'&gt;中欧旅行 その9 ブラスチラバ&lt;/a&gt;で。&lt;br&gt;(2009/11/5)" label="ブラスチラバ" ></marker>
<marker lat="47.495864" lng="19.050293" html="Budapest &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_Butapest.htm' target='_blank'&gt;ブダペスト詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="ブダペスト" ></marker>
<marker lat="48.20926" lng="16.372633" html="Viena &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_Viena.htm' target='_blank'&gt;ウィーン詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/6)" label="ウィーン" ></marker>
<line colour="#0000ff" width="4" html="You clicked the red polyline">
   <point lat="50.107368" lng="8.686066" /> <!--フランクフルト-->
   <point lat="49.40187" lng="8.680401" /><!--ハイデルベルク-->
   <point lat="49.379691" lng="10.180206" /><!--ローテンブルク-->
   <point lat="47.680125" lng="10.900841" /><!--ヴィース教会-->
   <point lat="47.546872" lng="10.739136" /><!--ホーエンシュヴァンガウ-->
   <point lat="49.014906" lng="12.104187" /><!--レーゲンスブルク-->
   <point lat="50.082701" lng="14.422302" /><!--プラハ-->
   <point lat="48.810481" lng="14.315529" /><!--チェスキー・クルムロフ-->
   <point lat="50.082701" lng="14.422302" /><!--プラハ-->
   <point lat="48.143182" lng="17.112579" /><!--ブラスチラバ-->
   <point lat="47.495864" lng="19.050293" /><!--ブダペスト-->
   <point lat="48.20926" lng="16.372633" /><!--ウィーン-->
   <point lat="48.112933" lng="16.55777" /><!--ウィーン空港-->
</line>
</markers>


市街地図(例として、プラハ市街図)のHTML(include Google Maps API JavaScript)は、つぎのようなコードである。ここでは、XML ファイルは使っていない。(学習不足で使うことができなかった。)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" href="http://n-shuhei.net/litebox/???/lightbox.css" type="text/css" media="screen"/>
<script type="text/javascript" src="http://n-shuhei.net/litebox/???//prototype.lite.js"></script>
<script type="text/javascript" src="http://n-shuhei.net/litebox/???/moo.fx.js"></script>
<script type="text/javascript" src="http://n-shuhei.net/litebox/???/litebox-1.0.js" charset="utf-8"></script>
<title>Google Maps JavaScript API map_13</title>
<script src="http://maps.google.co.jp/maps?file=api&amp;v=2&amp;key=ABQIAAAA_--TOJLbO9UBLVgjJC7W8hRCNFlWI0Fg????????????
  mm9hSKsn5IFaeCnFgl????????????" charset="utf-8" type="text/javascript"></script> </head> <body onload="initLightbox()"> <div align="center"> <table width="auto" border="1" bgcolor="#FFFFCC"> <thead ><tr><td id="th1" colspan="2" align="middle" ><big><strong>プラハ<strong></big></td></tr></thead> <tbody align="left"> <tr><td> <div id="map" style="width:730px; height:530px"></div> </td><td width ="210px" valign="top" style="text-decoration: color: #000000; font-size: small;">左の地図は、Google Mapsの機能を持っています。拡大・縮小・移動ができます。
下のチェックボックスをチェックすると該当位置にマークが立ちます。また、青文字をクリックすると写真がでてきます。<br/><input type="checkbox" name="cb1" onClick="checkbox1clicked()">   1. プラハ城<br />   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_008.jpg" title="プラハ城からの眺め" rel="lightbox[os]">プラハ城からの眺め</a><br />
<input type="checkbox" name="cb2" onclick="checkbox2clicked()"> 2. 聖ヴィート教会<br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_003.jpg" title="プラハ城 聖ヴィート教会" rel="lightbox[os]">聖ヴィート教会</a><br />
;   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_004.jpg" title="ミュシャのステンドグラス(部分)" rel="lightbox[os]">ミュシャのステンドグラス</a><br />
   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_005.jpg" title="聖ヴィート教会の祭壇" rel="lightbox[os]">聖ヴィート教会の祭壇</a><br />
   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_006.jpg" title="聖ヴィート教会前景" rel="lightbox[os]">聖ヴィート教会前景</a><br/>
<input type="checkbox" name="cb3" onclick="checkbox3clicked()"> 3. 聖イジー教会<br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_007.jpg" title=""聖イジー教会と修道院 rel="lightbox[os]">聖イジー教会と修道院</a><br />
<input type="checkbox" name="cb4" onclick="checkbox4clicked()"> 4. カレル橋<br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_009.jpg" title="カレル橋 水害の跡" rel="lightbox[os]">カレル橋 水害の跡</a><br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_010.jpg" title="カレル橋" rel="lightbox[os]">カレル橋</a><br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_011.jpg" title="カレル橋の聖像" rel="lightbox[os]">カレル橋の聖像</a><br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_003.jpg" title="モルダウ川河畔" rel="lightbox[os]">モルダウ川河畔</a><br />
<input type="checkbox" name="cb5" onclick="checkbox5clicked()"> 5. 旧市街入口<br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_004.jpg" title="旧市街入口" rel="lightbox[os]">旧市街入口</a><br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_005.jpg" title="プラハ城を望む" rel="lightbox[os]">プラハ城を望む</a><br />
<input type="checkbox" name="cb6" onclick="checkbox6clicked()"> 6. 旧市街広場<br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_006.jpg" title="火薬塔" rel="lightbox[os]">火薬塔</a><br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_007.jpg" title="ティーン教会" rel="lightbox[os]">ティーン教会</a><br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_008.jpg" title="旧市庁舎の時計塔" rel="lightbox[os]">旧市庁舎の時計塔</a><br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_009.jpg" title="仕掛け時計" rel="lightbox[os]">仕掛け時計</a><br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_010.jpg" title="ヤン・フス像" rel="lightbox[os]">ヤン・フス像</a><br />
<input type="checkbox" name="cb7" onclick="checkbox7clicked()"> 7. レギー橋<br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_002.jpg" title="プラハ城を眺める" rel="lightbox[os]">プラハ城を眺める</a><br />
<br />参照記事:<a href="http://n-shuhei.net/studio_yamako/????????????/01_1623.php" target="_blank">中欧旅行 その6 プラハ(1)</a></td></tr></tbody></table></div> <!-- 番号入りマーカーを表示する。-->     <script type="text/javascript">     //<![CDATA[     var map;     var marker1, marker2, marker3, marker4, marker5, marker6, marker7;     map = new GMap2(document.getElementById("map"));     map.addControl(new GLargeMapControl());     map.addControl(new GMapTypeControl());     map.addControl(new GScaleControl());     map.setCenter(new GLatLng(50.086473,14.410651),14);     map.setMapType(G_HYBRID_MAP);     var markerIcon1 = new GIcon();     markerIcon1.image = "http://n-shuhei.net/????????????/Markers/marker1.png";  //   markerIcon1.shadow = "./img/shadow.png";     markerIcon1.iconSize = new GSize(35, 40);  //   markerIcon1.shadowSize = new GSize(70, 56);     markerIcon1.iconAnchor = new GPoint(18, 40);     var markerIcon2 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker2.png");     var markerIcon3 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker3.png");     var markerIcon4 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker4.png");     var markerIcon5 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker5.png");    var markerIcon6 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker6.png");    var markerIcon7 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker7.png");     var opt1 = {icon:markerIcon1};     var opt2 = {icon:markerIcon2};     var opt3 = {icon:markerIcon3};     var opt4 = {icon:markerIcon4};     var opt5 = {icon:markerIcon5};     var opt6 = {icon:markerIcon6};     var opt7 = {icon:markerIcon7};     marker1 = new GMarker(new GLatLng(50.088814,14.395523), opt1);     marker2 = new GMarker(new GLatLng(50.090755,14.400759), opt2);     marker3 = new GMarker(new GLatLng(50.091023,14.402025), opt3);     marker4 = new GMarker(new GLatLng(50.086473,14.410651), opt4);     marker5 = new GMarker(new GLatLng(50.086129,14.413869), opt5);     marker6 = new GMarker(new GLatLng(50.087382,14.4208), opt6);     marker7 = new GMarker(new GLatLng(50.081186,14.410672), opt7);     var marker1_is_displayed = 0;     var marker2_is_displayed = 0;   var marker3_is_displayed = 0;   var marker4_is_displayed = 0;    var marker5_is_displayed = 0;    var marker6_is_displayed = 0;    var marker7_is_displayed = 0;     function checkbox1clicked() {       if (marker1_is_displayed == 0) {         map.addOverlay(marker1);         marker1_is_displayed = 1;       } else {         map.removeOverlay(marker1);         marker1_is_displayed = 0;       }     }     function checkbox2clicked() {       if (marker2_is_displayed == 0) {         map.addOverlay(marker2);         marker2_is_displayed = 1;       } else {         map.removeOverlay(marker2);         marker2_is_displayed = 0;       }     } function checkbox3clicked() {       if (marker3_is_displayed == 0) {         map.addOverlay(marker3);         marker3_is_displayed = 1;       } else {         map.removeOverlay(marker3);         marker3_is_displayed = 0;       }     } function checkbox4clicked() {       if (marker4_is_displayed == 0) {         map.addOverlay(marker4);         marker4_is_displayed = 1;       } else {         map.removeOverlay(marker4);         marker4_is_displayed = 0;       }     }     function checkbox5clicked() {       if (marker5_is_displayed == 0) {         map.addOverlay(marker5);         marker5_is_displayed = 1;       } else {         map.removeOverlay(marker5);         marker5_is_displayed = 0;       }     }     function checkbox6clicked() {       if (marker6_is_displayed == 0) {         map.addOverlay(marker6);         marker6_is_displayed = 1;       } else {         map.removeOverlay(marker6);         marker6_is_displayed = 0;       }     }     function checkbox7clicked() {       if (marker7_is_displayed == 0) {         map.addOverlay(marker7);         marker7_is_displayed = 1;       } else {         map.removeOverlay(marker7);         marker7_is_displayed = 0;       }     }    //]]>     </script> </body> </html>
 この市街地図での学習点は、最初の表示を航空写真と地図の合成(HYBRID)にすることと、番号入りのマークを表示することである。
 番号入りのマークを表示する方法については、以前のエントリーで記録している。
これだけのことをするために、基礎知識の少ない老人には、ずいぶん学習しなければならないことが多かった。痴呆予防には有効かもしれない。

 
Google Maps API徹底活用ガイド
稲葉 一浩
毎日コミュニケーションズ
売り上げランキング: 105350
おすすめ度の平均: 3.5
4 さらっと流しつつテンコ盛りの内容
3 前半は簡単。後半は難解。
4 Google Maps をゴリゴリいじってみたい人に


2010年1月14日

Google Maps API で旅行地図を作る:番号付きマーカーを使う

 昨年秋に、宍道湖をドライブしたときの旅行記はエントリーしたが、旅行地図を作ろうと思いながらできずにいた。
 最近新たな知識も取り入れて、宍道湖ドライブ地図を作製したので、備忘録として記録しておきたい。
 ツーリストがプロを使って作成していると思われる Google Maps API による地図には、数字や英字の入った Marker を格好良く使っている。私も使いたいと思っていたが、数字入りマーカーを作る方法がよく分からなかった。どこかに、できあいのものはないかと、"番号付きマーカー"というような言葉でネットサーチしていると、dLinkbRING というサイトを見つけた。そこで提供されている番号付きマーカーがもちろん使えるが、そのページに紹介されている、こんな便利なサイトにいくと自分の好きな色のマーカーに、数字あるいは英字を入れて作れるサービスが提供されていることが分かった。これで、次のような番号付きマーカーを作った。

         

 これらを地図上に表示させるには、AjaxTowerというサイトのGoogle Maps入門(Google Maps API)を参考にした。このサイトの「マーカーのアイコンを指定」の JavaScript コードを参考にして、以前に 「伊勢参り」 のエントリーで使った GoogleMaps API コードの JavaScript 部分に手を加えてみたのが、次のコードである。
<!-- 番号入りマーカーを表示する。-->
    <script type="text/javascript">
    //<![CDATA[

    var map;
    var marker1, marker2, marker3, marker4, marker5;

    map = new GMap2(document.getElementById("map"));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.setCenter(new GLatLng(35.430883,133.01199),10);
    map.setMapType(G_HYBRID_MAP);

    var markerIcon1 = new GIcon();
    markerIcon1.image = "http://n-shuhei.net/xxxxxxx/xxxxxx/marker1.png";
 //   markerIcon1.shadow = "./img/shadow.png";
    markerIcon1.iconSize = new GSize(35, 40);
 //   markerIcon1.shadowSize = new GSize(70, 56);
    markerIcon1.iconAnchor = new GPoint(18, 40);

    var markerIcon2 = new GIcon(markerIcon1, "http://n-shuhei.net/xxxxxxx/xxxxxx/marker2.png");
    var markerIcon3 = new GIcon(markerIcon1, "http://n-shuhei.net/xxxxxxx/xxxxxx/marker3.png");
    var markerIcon4 = new GIcon(markerIcon1, "http://n-shuhei.net/xxxxxxx/xxxxxx/marker4.png");
    var markerIcon5 = new GIcon(markerIcon1, "http://n-shuhei.net/xxxxxxx/xxxxxx/marker5.png");

    var opt1 = {icon:markerIcon1};
    var opt2 = {icon:markerIcon2};
    var opt3 = {icon:markerIcon3};
    var opt4 = {icon:markerIcon4};
    var opt5 = {icon:markerIcon5};

    marker1 = new GMarker(new GLatLng(35.469199,133.053875), opt1);
    marker2 = new GMarker(new GLatLng(35.44333,133.284674), opt2);
    marker3 = new GMarker(new GLatLng(35.444729,132.866077), opt3);
    marker4 = new GMarker(new GLatLng(35.401434,132.685919), opt4);
    marker5 = new GMarker(new GLatLng(35.377854,133.198242), opt5);
		
    var marker1_is_displayed = 0;
    var marker2_is_displayed = 0;
  var marker3_is_displayed = 0;
  var marker4_is_displayed = 0;
  var marker5_is_displayed = 0;

    function checkbox1clicked() {
      if (marker1_is_displayed == 0) {
        map.addOverlay(marker1);
        marker1_is_displayed = 1;
      } else {
        map.removeOverlay(marker1);
        marker1_is_displayed = 0;
      }
    }

    function checkbox2clicked() {
      if (marker2_is_displayed == 0) {
        map.addOverlay(marker2);
        marker2_is_displayed = 1;
      } else {
        map.removeOverlay(marker2);
        marker2_is_displayed = 0;
      }
    }
	
	function checkbox3clicked() {
      if (marker3_is_displayed == 0) {
        map.addOverlay(marker3);
        marker3_is_displayed = 1;
      } else {
        map.removeOverlay(marker3);
        marker3_is_displayed = 0;
      }
    }
	
	function checkbox4clicked() {
      if (marker4_is_displayed == 0) {
        map.addOverlay(marker4);
        marker4_is_displayed = 1;
      } else {
        map.removeOverlay(marker4);
        marker4_is_displayed = 0;
      }
    }

    function checkbox5clicked() {
      if (marker5_is_displayed == 0) {
        map.addOverlay(marker5);
        marker5_is_displayed = 1;
      } else {
        map.removeOverlay(marker5);
        marker5_is_displayed = 0;
      }
    }
   //]]>
    </script>


もともとのコードがどこかのページからいただいたコードだから、よく理解していない部分もあるが、なんとか上手く機能しているようである。 iconSize での数字を変えることで、番号付きマーカーの形が変わるようである。また、shadow もつけられる。
 このようにして「宍道湖私的観光地図」を作った。下は、その screenshot であるが、全体像は右メニューにボタンを置いたのでクリックしてみて欲しい。

なお、このGoogle Maps入門にある「マップタイプの選択」ページで示されている JavaScript, Google Maps API リファレンスのコードを参考に、初めに表示される画面を「地図+航空写真」(HYBRID) に設定した。
 Google Maps入門のサイトには、他にも少し学習すれば使えそうなインストラクションもあるので応用していきたいと思う。



2009年7月28日

隠居のJazz: 特殊な楽器による演奏曲を集めてみる

 1月から始めた、メインとなる楽器別の Artists による Track をRadio Senboku の特集で続行している。前回は Guitar と Vibraphone artists を主体とした Album から編集した。
 Jazz といえば saxophone や trumpet が花らしく、piano や guitar の特集を組んだらチャネルを合わせる人が少し少なくなった。

 が、今回も後藤雅洋さんの「新ジャズの名演・名盤」を参照して、今までの特集では扱ってこなかった drums や bass などの "Others" として分類されている (vocal は除く) Artists を特集してみようと思う。
だが、基本的には drums や bass はリズムセクションの楽器なので、それだけ聴いてもあまり面白くない。 これらの instruments で有名な Artists はそれらの楽器での演奏よりも、バンドをマネージすることに長けているようだ。

後藤雅洋さんの「新ジャズの名演・名盤」で、 "Others" として分類されている Artists は次の人・グループである。 

隠居の音楽:mp3 ファイルのID3 タグを編集するで記録したように、以前から収集した4000 あまりの MP3 ファイルにID3 タグを付加するのは time consumptive な作業であったが、ようやく終えることができた。 まだ少しノイズは残っているが、WindowsMediaPlayer のライブラリーにデータベース化されたのでRadio Senboku に流す曲が探しやすくなった。

  私のライブラリーには「新ジャズの名演・名盤」で drums や bass などの "Others" として分類されている (vocal は除く) Artists 以外にも、clarinet, organ, violin, flute などの instruments を演奏する Artists が多くいる。
 これらの Artists を誕生年順にリストしてみた。ただ、flute を演奏する女性の Ali Ryerson の誕生年は不詳である。
   上のリストにもとづいて、Windows Media Player のライブラリーから選曲して、Radio Senboku で流す曲を全面的に改定した。 上のリストの Artists 順に81曲(7時間45分)が繰り返し流れるはずである。いちどチャネルを合わせてみてください。Playlistは、右メニューの Radio Senboku Playlist ボタンから入手できる。 

2009年3月23日

隠居のJazz: Piano Artists を集めてみる

 1月から始めた、メインとなる楽器別の Artist による Track をRadio Senboku の特集で続行している。先月は Trumpet と Trombone Artist の Album から特集を組んだが、3月は Piano Artists を主体とした Album から編集することにした。

 今月も、後藤雅洋さんの「新ジャズの名演・名盤」を参照した。

 ピアノを主体とした Jazz 演奏は、Piano, Bass, Drums のトリオによる演奏が多い。この Piano Trio を創始したのは Bud Powell らしい。
 確かに、 Live などを聴きに行くと、この編成の Trio か、Sax あたりが入った Quartet が多いように思う。 Live をするときに Artists を集めるのに手軽ということもあるのだろう。
 Recording もやりやすいのか、私でも沢山の LP や CD を私も持っている。
 私は、表現の幅が多彩になる Sax とか Pet とかの管楽器が入っている方が、Jazz は面白いと思うが Trio が断然好きな人もいる。

 「新ジャズの名演・名盤」には、次にリストした Piano Artists の評価や推奨アルバムなどの記載がある。


 それ以外にも、私の Windows Media Player のライブラリー(データベース)には、次のような Pianists のアルバムやトラックがヒットする。その中には、兄貴の形見の LP盤をデジタル化したものも含まれる。裏表 40?50 分のLP を MP3 化するには、2時間足らずかかるので、いろいろな遊びをしているなかでは1日1枚がやっとである。

 この他にも、Duke Ellington や Count Basie はジャズピアニストとして有名であるが、Swing Jazz のカテゴリーで区分したいと思う。

 上の Jazz Pianists の演奏の中から、 Live365 Broadcast のルールにもとづいて Playlist を作り、Radio Senboku に流している。パソコンをいじっているときの BGM としては最適と思うので、つないで見て欲しい。
Radio Senboku の Playlist は右メニューからも Link している。
 最近はいろいろな和風レストランなどでも、Jazz が流れていることが多いように思う。Jazz というのはそういうときに癒しをくれる音楽なのかもしれない。

Bud Powell in Paris
Bud Powell in Paris
posted with amazlet at 09.03.23
Bud Powell
Wounded Bird (2008-11-11)
売り上げランキング: 103495
おすすめ度の平均: 4.5
3 パウエル......残照
5 よろこび
5 ちょいとわびさび
5 枯れたバドならこれが最高

Waltz for Debby
Waltz for Debby
posted with amazlet at 09.03.23
Bill Evans Scott LaFaro
Original Jazz Classics (1990-10-17)
売り上げランキング: 478
おすすめ度の平均: 4.5
2 Waltz for debbyは素晴らしい名曲、名演だ!
5 ピアノ・ジャズが生んだ傑作。奇跡のようなアルバム。
5 結局、これか!
5 My foolish heart ・・・
5 別テイクが並べて収録されている理由について

Cool Struttin'
Cool Struttin'
posted with amazlet at 09.03.23
Sonny Clark
Toshiba EMI (1999-04-07)
売り上げランキング: 2787
おすすめ度の平均: 4.5
5 心の泉に落ちた小石
5 ジャズ史上最高のジャケット
3 普通に良い程度のアルバム。現代のジャズ・アルバムのほうが良い
5 ソニー・クラークの最高傑作!超人気盤!
2 疑問


2008年9月21日

隠居のMT備忘録:lightbox 2.0 の背景 overlay が黒くならない

 lightbox 2.0 の最新バージョン 2.04 の導入は失敗した。導入の手順を間違ったものと思うが、サイトそのものにアクセスできないという致命的な障害がでるので、すぐに元のバージョン 2.03 に戻した。

 そのときのドサクサにまぎれてテンプレートなどをいじったせいか、次の条件のときに、画像が現れるポップアップ画面の背景 overlay が黒くならないという現象がでた。
  • Windows XP SP2
  • Internet Explorer 7
  • MovableType 4.1 テンプレート:小粋空間:two-column-liquid-right メインページ
 アーカイブページやWindowsVista Mozilla(Firefox) では起こらない。
 上記は私の環境で、それ以外については確認していない。

 lightbox2.0 のページの support では、overlay については次の説明がある。

The shadow overlay doesn't stretch to cover full browser window.
Remove the default margin and padding from the body tag. Add body{ margin: 0; padding: 0; } to your stylesheet.

 スタイルシートでは、この設定は既に以下のようになっており、問題はなさそうである。
/* すべて */
* {
    margin: 0;
    padding: 0;
    font-family: Verdana, Arial, sans-serif;
    word-break: normal;
    line-break: strict;
}


 ネットサーチもしてみたが、的確な示唆はヒットしなかった。見当はずれであるが、「小粋空間」さんの「Lightbox JS の Movable Type での不具合を修正する」のエントリーに、コメントとして質問を投げかけてみた。親切に以下のような返事をいただいたが、結局原因不明である。
>n_shuheiさん
こんばんは。ご返事遅くなってすいません。
事象は確認できましたが、現在のところ原因不明です。

もし何か分かりましたら別途エントリーしたいと思います。
それではよろしくお願い致します。


 アクセス解析サービスの Artisan の分析では、私のサイトへの訪問者は、WindowsXP IE6/7 でのアクセスが最も多いから、早く修復したいと思ったが方途がない。

 運営している友人の2つのブログのひとつを見ていると、なんと上の条件でも、lightbox で拡大画像表示されるポップアップ画像の背景overlay が黒くなっていることが分かった。いじっているうちに偶然うまくいっていたらしい。

 このブログも同じ小粋空間:two-column-liquid-right のテンプレートを使っているので、lightbox 表示に関連していると思われるテンプレートモジュールの「ヘッダー」を子細に見てみると、正常に表示されるブログのテンプレートの<div> タグを閉じる </div> タグがひとつ少ないことを見つけた。
 どうやら、テンプレートモジュールの「ヘッダー」で<div> タグを閉じる </div> タグを余計にひとつつけたことが原因らしく思われた。テンプレートの構成上テンプレートモジュールの「ヘッダー」の<div> タグのひとつは、テンプレートモジュールの「フッター」で閉じられることになっていたのだ。

 「ヘッダー」の余計な </div> タグを削除すると上手く背景overlay が黒くなった。原因は、まったくそのせいと思っていたが、再現性を確認するために、「ヘッダー」テンプレートに余計な </div> タグをつけても、背景overlay は黒くなる。再現性はないのだ。
 どうやら修復は不可逆性だったようで釈然としないのだが、うまく表示されるようになっているので、まあ、いいか という気分である。
 ブラウザーに依存する障害は、いつもよく分からない。