<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7988980613793923883</id><updated>2012-02-17T04:29:19.743+09:00</updated><category term='Google Maps'/><category term='flickrAPI'/><category term='javascript'/><category term='写真'/><category term='Geocoding'/><title type='text'>genisgen</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-1098505662632598238</id><published>2008-05-21T23:31:00.001+09:00</published><updated>2008-05-21T23:31:11.732+09:00</updated><title type='text'>故宮 紫禁城 筒子河（午門西側）</title><content type='html'>&lt;style type="text/css"&gt;.flickr-photo { border: solid 6px #000000; }.flickr-yourcomment { }.flickr-frame { text-align: left; padding: 3px; }.flickr-caption { font-size: 0.8em; margin-top: 0px; }&lt;/style&gt;&lt;div class="flickr-frame"&gt;	&lt;a href="http://www.flickr.com/photos/genisgen/2461973096/" title="photo sharing"&gt;&lt;img src="http://farm4.static.flickr.com/3146/2461973096_4833e632c5.jpg" class="flickr-photo" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;	&lt;span class="flickr-caption"&gt;&lt;a href="http://www.flickr.com/photos/genisgen/2461973096/"&gt;故宮 紫禁城 筒子河（午門西側）&lt;/a&gt;, originally uploaded by &lt;a href="http://www.flickr.com/people/genisgen/"&gt;genisgen&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;				&lt;p class="flickr-yourcomment"&gt;	&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-1098505662632598238?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/1098505662632598238/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=1098505662632598238' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/1098505662632598238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/1098505662632598238'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2008/05/blog-post.html' title='故宮 紫禁城 筒子河（午門西側）'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3146/2461973096_4833e632c5_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-1525329066606610584</id><published>2007-06-22T23:04:00.001+09:00</published><updated>2007-06-25T00:16:41.607+09:00</updated><title type='text'>test</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/GoogleMaps.png" class="googleMaps"&gt;&lt;BR/&gt;
&lt;a href="http://code.google.com/apis/ajaxsearch/documentation/reference.html"&gt;Google AJAX Search API Class Reference&lt;/a&gt;

 &lt;div id="searchform"&gt;&lt;/div&gt;
 &lt;table style="background:black;"&gt;&lt;tr&gt;
   &lt;td vertical-align="top"&gt;
    &lt;div id="map"&gt;&lt;/div&gt;
   &lt;/td&gt;
   &lt;td&gt;
    &lt;div id="results"&gt;
     &lt;div id="searchwell"&gt;&lt;/div&gt;
    &lt;/div&gt;
   &lt;/td&gt;
 &lt;/tr&gt;&lt;/table&gt;
&lt;div id="lat_output"&gt;&lt;/div&gt;&lt;BR/&gt;
&lt;div id="lng_output"&gt;&lt;/div&gt;&lt;BR/&gt;
&lt;div id="mouse"&gt;&lt;/div&gt;&lt;BR/&gt;
&lt;script src="http://www.google.com/uds/api?file=uds.js&amp;v=1.0&amp;source=uds-msw&amp;key=ABQIAAAAwekt9PW2uZTn6eGbQ8OxWxQxTSZHxjJ_T3-tr8oPkUPCNAjijBTcKDj8nMe_reTfgKyZmAt9mJN07g"
    type="text/javascript"&gt;&lt;/script&gt;
&lt;style type="text/css"&gt;
 #searchform {
   width : 500px;
   margin-bottom: 5px;
 }
 #map {
   border: 1px solid #979797;
   width : 300px; height: 400px;
 }
 #searchwell {
   width : 250px; height: 400px;
 }
&lt;/style&gt;
&lt;script type="text/javascript"&gt;

 var imgDir = "http://www.geocities.jp/genwasgen/img/";
 var gLocalSearch;
 var gMap;
 var gCurrentResults = [];
 var gSearchForm;

 var cameraDraggable=false;

 //選択された検索結果
 var prevSelectedResult;

 //選択されたマーカのアイコン
 var selectedIcon = new GIcon(G_DEFAULT_ICON, 
                              imgDir+"markeryellow.png");

 //選択されたマーカのアイコン
 var wCameraIcon = new GIcon();
 wCameraIcon.image  = imgDir+"markerCamera06.png";
 wCameraIcon.shadow = imgDir+"markerCameraShadow06.png";
 wCameraIcon.iconSize   = new GSize(120, 100);
 wCameraIcon.shadowSize = new GSize(120,100);
 wCameraIcon.iconAnchor = new GPoint(59, 37);

 //mouseOver前の背景色
 var OldClr;

 // 地図と地域検索erのセットアップ
 function OnLoad() {
   gSearchForm = new GSearchForm(false, document.getElementById("searchform"));
   gSearchForm.setOnSubmitCallback(null, CaptureForm);
   gSearchForm.input.focus();

   //地図の初期化
   gMap = new GMap2(document.getElementById("map"));
   gMap.addControl(new GSmallMapControl());
   gMap.addControl(new GMapTypeControl());
   gMap.setCenter(new GLatLng(37.4419, -122.1419), 13);

   //地域検索erの初期化
   gLocalSearch = new GlocalSearch();
   gLocalSearch.setCenterPoint(gMap);
   gLocalSearch.setSearchCompleteCallback(null, OnLocalSearch);

   //最初の検索の実行
   gSearchForm.execute("italian restaurants");
 }

 //地域検索の結果が戻されたときに呼び出される関数
 function OnLocalSearch() {
   if (!gLocalSearch.results) return;
   var searchWell = $("searchwell");

   //前の結果の消去
   searchWell.innerHTML = "";
   for (var i = 0; i &lt; gCurrentResults.length; i++) {
       gMap.removeOverlay(gCurrentResults[i].getMarker());
   }

   gCurrentResults = [];

   //五個以上の検索結果は表示しない。
   var resultNoToShow;
   if ( gLocalSearch.results.length &gt; 6 ) {
      resultNoToShow = 6;
   } else {
      resultNoToShow = gLocalSearch.results.length;
   }

   for (var i = 0; i &lt; resultNoToShow; i++) {
     gCurrentResults.push(new LocalResult(gLocalSearch.results[i]));
   }

   //最上位の検索結果を選択
   prevSelectedResult=gCurrentResults[0];
   gCurrentResults[0].select();

 }

 // フォーム発行をキャンセルして、AJAX検索APIの検索を実行
 function CaptureForm(searchForm) {
   gLocalSearch.execute(searchForm.input.value);
   return false;
 }

 // Google AJAX検索APIの地域検索結果を表現するクラス
 // *** LocalResult ***
 // コンストラクタ
 function LocalResult(result) {
   this.result_ = result;
   this.resultNode_ = this.unselectedHtml();
   document.getElementById("searchwell").appendChild(this.resultNode_);
   pos =new GLatLng(parseFloat(this.result_.lat),
                    parseFloat(this.result_.lng));
   gMap.addOverlay( this.setMarker( G_DEFAULT_ICON , pos ) );
 }

 // メソッド：unselectedHTML
 //    検索結果をHTMLで返す
 LocalResult.prototype.unselectedHtml = function() {
   divR=document.createElement("div");
   divR.style.cssText = "border:1px solid #CCC; background:#EEE; margin:5px;"
                       +"padding:3px; width:220px;";

   // 注：イベントはGEventで拾うこと。
   //     IEのsetAttributeが変なため。divR.setAttribute("onmouseover",)は使わない

   GEvent.bindDom(divR, "mouseover", divR, function() {
     oldClr=this.style.background;
     this.style.background='#FFF';
     this.style.cursor='pointer';
   });

   GEvent.bindDom(divR, "mouseout", divR, function() {
     this.style.background=oldClr;
   });

   GEvent.bindDom(divR, "click", this, function() {
     this.select();
   });

   divR.innerHTML = 
         "&lt;B&gt;" + this.result_.titleNoFormatting + "&lt;/B&gt;&lt;BR/&gt;"
       + this.result_.streetAddress + ", " + this.result_.city;

   return (divR);
 }

  // メソッド：setMarker
  //   　検索結果に紐付いたマーカを設定する。
  LocalResult.prototype.setMarker = function( icon , latlng ) {
    var marker = new GMarker( 
                       latlng ,
                       {icon:      icon, 
                        draggable: icon == selectedIcon 
                       }
                 );
    var clickFunc = function() { this.select(); };
    if ( icon == selectedIcon ) {
      clickFunc = function() {
        pos = this.marker_.getPoint();
        gMap.removeOverlay(this.getMarker());
        gMap.addOverlay( this.setMarker( wCameraIcon , pos ) );
      } ;
    }

    var cBndry = new Array();
    var cNext  = new Array();
    var aBndry = new Array();
    var aNext  = new Array();

    cBndry["01"]=+1.000; cNext["01"]="02"; //tan 15
    aBndry["01"]=+3.732; aNext["01"]="12"; //tan 45

    cBndry["02"]=+0.268; cNext["02"]="03"; //tan 15
    aBndry["02"]=+1.000; aNext["02"]="01"; //tan 45

    cBndry["03"]=-0.268; cNext["03"]="04"; //tan 15
    aBndry["03"]=+0.268; aNext["03"]="02"; //tan 15

    cBndry["04"]=-1.000; cNext["04"]="05"; //tan 45
    aBndry["04"]=-0.268; aNext["04"]="03"; //tan 15

    cBndry["05"]=-3.732; cNext["05"]="06"; //tan 75
    aBndry["05"]=-1.000; aNext["05"]="04"; //tan 45

    cBndry["06"]=-0.268; cNext["06"]="07";
    aBndry["06"]=+0.268; aNext["06"]="05";

    cBndry["07"]=+1.000; cNext["07"]="08"; //tan 45
    aBndry["07"]=+3.732; aNext["07"]="06"; //tan 75

    cBndry["08"]=+0.268; cNext["08"]="09"; //tan 15
    aBndry["08"]=+1.000; aNext["08"]="07"; //tan 45

    cBndry["09"]=-0.268; cNext["09"]="10"; //tan 15
    aBndry["09"]=+0.268; aNext["09"]="08"; //tan 15

    cBndry["10"]=-1.000; cNext["10"]="11"; //tan 45
    aBndry["10"]=-0.268; aNext["10"]="09"; //tan 15

    cBndry["11"]=-3.732; cNext["11"]="12"; //tan 45
    aBndry["11"]=-1.000; aNext["11"]="10"; //tan 15

    cBndry["12"]=-0.268; cNext["12"]="01";
    aBndry["12"]=+0.268; aNext["12"]="11";

   if ( !this.photoDir_ ) { this.photoDir_="06"; }
   if ( icon == wCameraIcon ) {
      wCameraIcon.image  = imgDir+"markerCamera"+this.photoDir_+".png";
      wCameraIcon.shadow = imgDir+"markerCameraShadow"+this.photoDir_+".png";
      clickFunc = function() {
      } ;
      olat = latlng.lat();
      olng = latlng.lng();
      GEvent.bind(marker, "mousedown", this, function(){
         $("mouse").innerHTML="down";cameraDraggable=true;
      });
      GEvent.bind(marker, "mouseup", this, function(){
         $("mouse").innerHTML="up";cameraDraggable=false;
      });
      GEvent.bind(marker, "dblclick", this, function(){
         this.select();
      });
      GEvent.bind(gMap, "mousemove", this, function(latlng){
                  y=latlng.lat()-olat;
                  x=latlng.lng()-olng;
         if (this.photoDir_=="06" || this.photoDir_=="12")
               { a = -x/y; } else { a = y/x; } 
         $("lat_output").innerHTML=a;

         if ( cameraDraggable &amp;&amp; a &lt; cBndry[this.photoDir_]  ) {
            this.photoDir_=cNext[this.photoDir_];
            pos = this.getMarker().getPoint();
            gMap.removeOverlay(this.getMarker());
            gMap.addOverlay( this.setMarker( wCameraIcon , pos ) );
         }
         if ( cameraDraggable &amp;&amp; a &gt; aBndry[this.photoDir_]  ) {
            this.photoDir_=aNext[this.photoDir_];
            pos = this.getMarker().getPoint();
            gMap.removeOverlay(this.getMarker());
            gMap.addOverlay( this.setMarker( wCameraIcon , pos ) );
         }

      });
    }
    GEvent.bind(marker, "click", this, clickFunc );

    this.marker_ = marker;
    return marker;
  }

  // メソッド：getMarker
  //   　検索結果に紐付いたマーカを返す。
  LocalResult.prototype.getMarker = function() {
    return this.marker_;
  }

 // メソッド：select
 //    検索結果が選択されたら、そのマーカを黄色にし
 //    HTMLの背景色を変える
 LocalResult.prototype.select = function() {

     // 選択されていた検索結果を元に戻す
     prevSelectedResult.resultNode_.style.background='#EEE';
     pos=prevSelectedResult.getMarker().getPoint();
     gMap.removeOverlay(prevSelectedResult.getMarker());
     gMap.addOverlay(prevSelectedResult.setMarker(G_DEFAULT_ICON,pos));

     // 新しく選択された検索結果を強調
     this.resultNode_.style.background='#FFD';
     oldClr=this.resultNode_.style.background;
     pos=this.getMarker().getPoint();
     gMap.removeOverlay(this.getMarker());
     gMap.addOverlay(this.setMarker(selectedIcon,pos));

     // 新しく選択された検索結果を中心に
     gMap.panTo(new GLatLng(parseFloat(this.result_.lat),
                            parseFloat(this.result_.lng)));

     prevSelectedResult=this;

 }

  GSearch.setOnLoadCallback(OnLoad);

&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-1525329066606610584?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/1525329066606610584/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=1525329066606610584' title='4 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/1525329066606610584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/1525329066606610584'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/google-ajax-search-api-class-reference.html' title='test'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-3796180851676411989</id><published>2007-06-17T12:48:00.000+09:00</published><updated>2007-06-30T18:31:04.519+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Maps'/><title type='text'>Google Mapsの地図検索</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/GoogleMaps.png" class="googleMaps"&gt;&lt;BR/&gt;
&lt;a href="http://blog.fkoji.com/2006/06192341.html"&gt;Google Maps APIで日本の住所から緯度・経度を求める方法 &lt;/a&gt;&lt;BR/&gt;
&lt;a href="http://www.google.com/uds/samples/places.html"&gt;AJAX Search + Google Maps @ Google AJAX Search API Code Samples&lt;/a&gt;
&lt;a href="http://code.google.com/apis/ajaxsearch/documentation/reference.html"&gt;Google AJAX Search API Class Reference&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-3796180851676411989?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/3796180851676411989/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=3796180851676411989' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/3796180851676411989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/3796180851676411989'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/loading.html' title='Google Mapsの地図検索'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-944218049247276733</id><published>2007-06-13T23:31:00.000+09:00</published><updated>2007-06-17T08:11:03.160+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='写真'/><title type='text'>夜のコインパーキングのくるまどめ</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/maps_camera.png" class="camera" onload="writePhotoMap('542385724');"&gt;&lt;div id="photo542385724"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-944218049247276733?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/944218049247276733/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=944218049247276733' title='217 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/944218049247276733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/944218049247276733'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/blog-post_13.html' title='夜のコインパーキングのくるまどめ'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>217</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-5224464826703796094</id><published>2007-06-12T23:58:00.001+09:00</published><updated>2007-06-17T08:11:36.243+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='写真'/><title type='text'>わき道の脇</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/maps_camera.png" class="camera" onload="writePhotoMap('542385596');"&gt;&lt;div id="photo542385596"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-5224464826703796094?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/5224464826703796094/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=5224464826703796094' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/5224464826703796094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/5224464826703796094'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/blog-post_12.html' title='わき道の脇'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-2273767717466244935</id><published>2007-06-12T22:03:00.000+09:00</published><updated>2007-06-17T08:12:45.471+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>LightBox Q&amp;A</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/javascript.png" class="javascript"&gt;
&lt;p&gt;&lt;strong&gt;LightBoxを能動的（明示的）に実行させるには？&lt;/strong&gt;&lt;BR/&gt;
例えば、&lt;code&gt;document.getElementById('').innerHTML="&amp;lt;a href=...&amp;gt;...&amp;lt;/a&amp;gt;"&lt;/code&gt;とDHTMLでLightBoxの対象を作成した場合、能動的にLightBoxを実行し、この&lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt;タグに対し機能するようにさせなければならない。&lt;BR/&gt;&lt;/p&gt;
&lt;strong&gt;回答：&lt;/strong&gt;&lt;BR/&gt;
&lt;code&gt;initLightBox();&lt;/code&gt;で能動的に実行。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;z-index&lt;/code&gt;の関係で背景がすべて灰色にならない&lt;/strong&gt;&lt;BR/&gt;
&lt;strong&gt;回答：&lt;/strong&gt;&lt;BR/&gt;
灰色にする&lt;code&gt;z-index&lt;/code&gt;はlightbox.cssで確認可能。デフォルトでは、&lt;code&gt;#lightbox&lt;/code&gt;が&lt;code&gt;z-index:100&lt;/code&gt;（5行目）、&lt;code&gt;#overlay&lt;/code&gt;が&lt;code&gt;z-index:90&lt;/code&gt;（75行目）。灰色にしたい対象の&lt;code&gt;z-index&lt;/code&gt;をこれらの&lt;code&gt;z-index&lt;/code&gt;より小さくなるようにすれば良い。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-2273767717466244935?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/2273767717466244935/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=2273767717466244935' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/2273767717466244935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/2273767717466244935'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/lightbox-q.html' title='LightBox Q&amp;A'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-1359217036038476433</id><published>2007-06-10T11:25:00.000+09:00</published><updated>2007-06-17T08:14:18.488+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>写真のかっこいい表示 LightBox2</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/javascript.png" class="javascript"&gt;
&lt;p&gt;写真地図ブラウザで写真をどう表示するか。なかなか難しい。そこでとりあえずlightbox.jsという写真表示のjavascsript libraryを使ってみた。&lt;/p&gt;
&lt;p&gt;特徴は
&lt;ul&gt;
&lt;li/&gt;表示方法がカッコ良い。
&lt;li/&gt;実装方法もカッコ良い。しっかりしている。
&lt;li/&gt;表示方法が工夫されているので、画像データのロード時間が気にならない。&lt;BR/&gt;
     というか、急いで見たい気が薄れる。
&lt;li/&gt;さらに写真セットとすると、プリロードしてくれて、2枚目以降が表示が速い。
&lt;/ul&gt;
&lt;p&gt;ホームページは&lt;a href="http://www.huddletogether.com/projects/lightbox2/"&gt;LightBox2 by Lokesh Dhakar&lt;/a&gt;。&lt;BR/&gt;
&lt;dl&gt;
 &lt;dt&gt;&lt;strong&gt;1.必要なもののダウンロード&lt;/strong&gt;&lt;/dt&gt;
  &lt;dd&gt;LightBox2の
       &lt;a href="http://www.huddletogether.com/projects/lightbox2/#download"&gt;
      ダウンロードページ&lt;/a&gt;より&lt;/dd&gt;lightbox2.03.3.zipをダウンロード/解凍。&lt;BR/&gt;
       ちなみに、scriptaculousのフルパッケージは
       &lt;a href="http://script.aculo.us/downloads"&gt;script.aculo.us/downloads&lt;/a&gt;
      よりダウンロード可。&lt;/dd&gt;
 &lt;dt&gt;&lt;strong&gt;2.画像ファイルの場所の指定&lt;/strong&gt;&lt;/dt&gt;
  &lt;dd&gt;lightbox.jsとlightbox.cssに画像ファイルの場所が指定されているので、アップロード
       する場所を考えて修正。今回は全てhttp://genisgen.googlepages.com/直下にアップロード
       するので（googlepagesにはfolderを作成できず、直下にしかアップロードできない）、
       例えばlightbox.jsの65行目の&lt;code&gt;"images/loading.gif"&lt;/code&gt;を
       &lt;code&gt;"http://genisgen.googlepages.com/loading.gif"&lt;/code&gt;に修正。
       lightbox.jsの66行目、lightbox.cssの47行目52行目53行目も同様に修正。&lt;/dd&gt;
 &lt;dt&gt;&lt;strong&gt;3.必要なもののアップロード&lt;/strong&gt;&lt;/dt&gt;
  &lt;dd&gt;effects.js, prev.gif, next.gif, loading.gif, close.gif, lightbox.css, 
      lightbox.js, blank.gif, closelabel.gif&lt;/dd&gt;
 &lt;dt&gt;&lt;strong&gt;4.リンクの設定&lt;/strong&gt;&lt;/dt&gt;
  &lt;dd&gt;&lt;code&gt;&amp;lt;link rel="stylesheet" href="css/lightbox.css" type="text/css"
      media="screen" /&amp;gt;&lt;/code&gt;を&lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;タグ内に挿入。&lt;BR/&gt;
      bloggerの場合だと、テンプレート&gt;HTMLの編集より。&lt;/dd&gt;
&lt;/dl&gt;
&lt;/p&gt;
&lt;p&gt;これで準備は完了。あとは、以下のように書けば使用可能。&lt;/p&gt;
&lt;div style="border:1px solid gray; background:#F5F5F5; width:500px; padding:5px; font-size:100%;"&gt;&lt;code&gt;&lt;pre&gt;
&amp;lt;script type="text/javascript"
 src="http://genisgen.googlepages.com/prototype.js&gt;
&amp;lt;/script&amp;gt;
&amp;lt;script type="text/javascript"
 src="http://genisgen.googlepages.com/scriptaculous.js?load=effects"&gt;
&amp;lt;/script&amp;gt;
&amp;lt;script type="text/javascript"
 src="http://genisgen.googlepages.com/lightbox.js"&amp;gt;
&amp;lt;/script&amp;gt;
&amp;lt;a href="http://farm2.static.flickr.com/1001/527593023_6ff2e308bd.jpg" 
   rel="lightbox"&amp;gt;image #1&amp;lt;/a&amp;gt;
&lt;/pre&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;実行例：
&lt;script type="text/javascript"
        src="http://genisgen.googlepages.com/scriptaculous.js?load=effects"&gt;&lt;/script&gt;
&lt;script type="text/javascript"
        src="http://genisgen.googlepages.com/lightbox.js"&gt;&lt;/script&gt;
&lt;div style="border:1px solid lightblue; background:white; text-align:center; padding:10px;"&gt;
&lt;a href="http://farm2.static.flickr.com/1001/527593023_6ff2e308bd.jpg" rel="lightbox"&gt;image #1&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;写真セットの実行例：
&lt;div style="border:1px solid lightblue; background:white; text-align:center; padding:10px;"&gt;
&lt;a href="http://farm1.static.flickr.com/216/496033392_bf6ba96453.jpg" rel="lightbox[roadtrip]"&gt;image #1&lt;/a&gt;
&lt;a href="http://farm1.static.flickr.com/210/496065935_b01811832a.jpg" rel="lightbox[roadtrip]"&gt;image #2&lt;/a&gt;
&lt;a href="http://farm2.static.flickr.com/1001/527593023_6ff2e308bd.jpg" rel="lightbox[roadtrip]"&gt;image #3&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;問題:&lt;/strong&gt;&lt;BR/&gt;
ただし問題は、表示される写真にリンクを付与できないこと。表示される写真をクリックしたら、その写真のブログページに飛ぶようにしたい。まぁ、これはlightbox.jsをハックするしかないんだろう。それほど難しくはないような気がする。&lt;BR/&gt;
と思ったけど、こんなニーズは他にも沢山あるような気がしてlightboxのホームページを見直したら、対応方法が書いてあった。危ない、危ない。いつも部下に言っている『他の人も欲しがりそうなことは、転がっているはずと考えろ』を忘れていた。恥ずかしい。&lt;/p&gt;
&lt;div style="border:1px solid gray; background:#F5F5F5; width:500px; padding:5px; font-size:100%;"&gt;&lt;code&gt;&lt;pre&gt;
&amp;lt;a href="images/image-4.jpg" rel="lightbox"
title="&lt;span style="color:blue;"&gt;&amp;amp;lt;&lt;/span&gt;a href=&lt;span style="color:blue;"&gt;&amp;amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt;link.html&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;amp;quot;&amp;amp;gt;&lt;/span&gt;&lt;span style="color:red;"&gt;my link&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;amp;lt;&lt;/span&gt;/a&lt;span style="color:blue;"&gt;&amp;amp;gt;&lt;/span&gt;"&amp;gt;
  Image
&amp;lt;/a&amp;gt;
&lt;/pre&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;リンクの実行例：
&lt;div style="border:1px solid lightblue; background:white; text-align:center; padding:10px;"&gt;
&lt;a href="http://farm1.static.flickr.com/216/496033392_bf6ba96453.jpg" rel="lightbox" title="&amp;lt;a href=&amp;quot;http://genisgen.blogspot.com/2007/06/on-way-to-my-friend-house.html&amp;quot;&amp;gt;on the way to my friend' house 友達の家への道中&amp;lt;/a&amp;gt;" id="testLinkImg"&gt;Image&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;javascriptの関数からの実行&lt;/strong&gt;&lt;BR/&gt;
Google Mapsで使うことを考えると、javascriptの関数から表示できるようにしなければならない。&lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt;オブジェクトのメソッドで出来そう。ということで
&lt;a href="http://msdn2.microsoft.com/en-us/default.aspx"&gt;Microsoft Developer Network&lt;/a&gt;の&lt;a href="http://msdn2.microsoft.com/en-us/library/ms533050.aspx"&gt;HTML and DHTML Reference&lt;/a&gt;に。Objects&gt;a&gt;Methodsで&lt;code&gt;click()&lt;/code&gt;を発見。このサイトは助かる。サンプルプログラムもあるし。&lt;BR/&gt;
だけどFirefoxではダメだって。&lt;a href="http://developer.mozilla.org/"&gt;mozilla developer center&lt;/a&gt;の&lt;a href="http://developer.mozilla.org/en/docs/DOM:element.click"&gt;DOM:element.click&lt;/a&gt;に書いてある。&lt;BR/&gt;
ここでまたまた暴走。Firefoxでどうすれば良いか必死に探しちゃった。難しそうと分かって初めて気付いた。他の人も困っているはず。Lightbox forumにあたったら直ぐあった。&lt;BR/&gt;
答えは&lt;code&gt;myLightbox.start(クリックしたいaオブジェクト)&lt;/code&gt;という関数を使うこと。&lt;/p&gt;
&lt;p&gt;javascriptからの実行例：
&lt;div style="border:1px solid lightblue; background:white; text-align:center; padding:10px;"&gt;
&lt;input type="button" value="写真表示"
 onClick="myLightbox.start($('testLinkImg'));"&gt;&lt;/div&gt;
&lt;/p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-1359217036038476433?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/1359217036038476433/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=1359217036038476433' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/1359217036038476433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/1359217036038476433'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/lightbox2.html' title='写真のかっこいい表示 LightBox2'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-9194050496292269937</id><published>2007-06-09T23:03:00.000+09:00</published><updated>2007-06-23T01:12:26.811+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Maps'/><title type='text'>Google Maps カスタムアイコン</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/GoogleMaps.png" class="googleMaps" onload="drawMapCustomIcon();"&gt;
&lt;div id="markerMap" style="width:500px;height:200px;"&gt;&lt;/div&gt;
&lt;p&gt;好みのアイコンは使いたいもの。下のソースを見た方が早いと思うけど、&lt;code&gt;GIcon&lt;/code&gt;のコンストラクタにはびっくりした。欲しいコンストラクタがまさにあった。考えてみれば、確かに欲しい人は多そう。考えられてるなぁ。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;icon.iconSize&lt;/code&gt;と&lt;code&gt;icon.shadowSize&lt;/code&gt;はそれぞれが表示される大きさ。画像の大きさと同じにすればそのままの表示だし、値を小さくすれば縮小されて表示される。&lt;code&gt;icon.iconAnchor&lt;/code&gt;は、このアイコンが指し示す部分（上の例だとアイコン下部のとがった部分）が画像の左上から何pixelのところかを指定する。&lt;/p&gt;
&lt;div style="border:1px solid gray; background:#F5F5F5; width:500px; padding:5px; font-size:100%;"&gt;&lt;code&gt;&lt;pre&gt;
&amp;lt;div id="markerMap" style="width:500px;height:200px;"&amp;gt;&amp;lt;/div&amp;gt;
&lt;span style="color:purple;"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
  var map = new GMap2(document.getElementById("markerMap"));
  map.addControl(new GMapTypeControl(1));
  map.setCenter(new GLatLng(35.5577, 139.7249), 17);


  &lt;span style="color:green;"&gt;//黄色のアイコン&lt;/span&gt;
  var point = new GLatLng(35.5577, 139.7249);
  var icon = new &lt;a href="http://www.google.com/apis/maps/documentation/reference.html#GIcon"&gt;GIcon&lt;/a&gt;(G_DEFAULT_ICON,
       "http://www.geocities.jp/genwasgen/img/markeryellow.png");
  var marker = new GMarker(point, icon);
  map.addOverlay(marker);

  &lt;span style="color:green;"&gt;//赤色の小さいアイコン&lt;/span&gt;
  var point = new GLatLng(35.5577, 139.7259);
  var icon = new &lt;a href="http://www.google.com/apis/maps/documentation/reference.html#GIcon"&gt;GIcon&lt;/a&gt;();
  icon.image  = "http://labs.google.com/ridefinder/"
                  +"images/mm_20_red.png";
  icon.shadow = "http://labs.google.com/ridefinder/"
                  +"images/mm_20_shadow.png";
  icon.iconSize   = new GSize(12, 20);
  icon.shadowSize = new GSize(22, 20);
  icon.iconAnchor = new GPoint(6, 20);
  var marker = new GMarker(point, icon);
  map.addOverlay(marker);
&lt;span style="color:purple;"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;ついでにアイコンの色々。&lt;/p&gt;
&lt;table cellpading=0 cellspacing=1 style='background:black;font-size:80%;'&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/intl/en_ALL/mapfiles/dd-start.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/intl/en_ALL/mapfiles/dd-start.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/intl/en_ALL/mapfiles/dd-end.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/intl/en_ALL/mapfiles/dd-end.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/intl/en_ALL/mapfiles/arrow.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/intl/en_ALL/mapfiles/arrow.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/intl/en_ALL/mapfiles/arrowshadow.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/intl/en_ALL/mapfiles/arrowshadow.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/intl/en_ALL/mapfiles/dir_0.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/intl/en_ALL/mapfiles/dir_0.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/intl/en_ALL/mapfiles/dir_3.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/intl/en_ALL/mapfiles/dir_3.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/intl/en_ALL/mapfiles/dir_117.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/intl/en_ALL/mapfiles/dir_117.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/intl/en_ALL/mapfiles/dir_walk_0.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/intl/en_ALL/mapfiles/dir_walk_0.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/intl/en_ALL/mapfiles/dir_walk_3.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/intl/en_ALL/mapfiles/dir_walk_3.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/intl/en_ALL/mapfiles/dir_walk_117.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/intl/en_ALL/mapfiles/dir_walk_117.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://labs.google.com/ridefinder/images/mm_20_purple.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://labs.google.com/ridefinder/images/mm_20_purple.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://labs.google.com/ridefinder/images/mm_20_yellow.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://labs.google.com/ridefinder/images/mm_20_yellow.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://labs.google.com/ridefinder/images/mm_20_yellow.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://labs.google.com/ridefinder/images/mm_20_yellow.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://labs.google.com/ridefinder/images/mm_20_blue.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://labs.google.com/ridefinder/images/mm_20_blue.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://labs.google.com/ridefinder/images/mm_20_white.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://labs.google.com/ridefinder/images/mm_20_white.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://labs.google.com/ridefinder/images/mm_20_white.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://labs.google.com/ridefinder/images/mm_20_white.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://labs.google.com/ridefinder/images/mm_20_green.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://labs.google.com/ridefinder/images/mm_20_green.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://labs.google.com/ridefinder/images/mm_20_black.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://labs.google.com/ridefinder/images/mm_20_black.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://labs.google.com/ridefinder/images/mm_20_orange.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://labs.google.com/ridefinder/images/mm_20_orange.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://labs.google.com/ridefinder/images/mm_20_gray.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://labs.google.com/ridefinder/images/mm_20_gray.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://labs.google.com/ridefinder/images/mm_20_brown.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://labs.google.com/ridefinder/images/mm_20_brown.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://labs.google.com/ridefinder/images/mm_20_shadow.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://labs.google.com/ridefinder/images/mm_20_shadow.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://maps.google.com/mapfiles/kml/pushpin/wht-pushpin.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://maps.google.com/mapfiles/kml/pushpin/wht-pushpin.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://maps.google.com/mapfiles/kml/pushpin/red-pushpin.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://maps.google.com/mapfiles/kml/pushpin/red-pushpin.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://maps.google.com/mapfiles/kml/pushpin/grn-pushpin.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://maps.google.com/mapfiles/kml/pushpin/grn-pushpin.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/apis/maps/documentation/markermanager/sun.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/apis/maps/documentation/markermanager/sun.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/apis/maps/documentation/markermanager/sun-shadow.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/apis/maps/documentation/markermanager/sun-shadow.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/apis/maps/documentation/markermanager/rain.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/apis/maps/documentation/markermanager/rain.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/apis/maps/documentation/markermanager/rain-shadow.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/apis/maps/documentation/markermanager/rain-shadow.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/apis/maps/documentation/markermanager/snow.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/apis/maps/documentation/markermanager/snow.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/apis/maps/documentation/markermanager/snow-shadow.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/apis/maps/documentation/markermanager/snow-shadow.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/apis/maps/documentation/markermanager/storm.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/apis/maps/documentation/markermanager/storm.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/apis/maps/documentation/markermanager/storm-shadow.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/apis/maps/documentation/markermanager/storm-shadow.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://maps.google.com/help/maps/streetview/images/man_arrow-10.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://maps.google.com/help/maps/streetview/images/man_arrow-10.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://www.google.com/help/hc/images/maps_human.png" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://www.google.com/help/hc/images/maps_human.png&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://&lt;/td&gt;
&lt;tr style="background:#EEF"&gt;&lt;td align="center"&gt;&lt;img src="http://" style="border:0px;"&gt;&lt;/td&gt;&lt;td&gt;http://&lt;/td&gt;
&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-9194050496292269937?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/9194050496292269937/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=9194050496292269937' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/9194050496292269937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/9194050496292269937'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/google-maps_09.html' title='Google Maps カスタムアイコン'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-5731836156693455313</id><published>2007-06-09T20:17:00.000+09:00</published><updated>2007-06-17T08:16:44.902+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Maps'/><title type='text'>Google Mapsのホイール拡大縮小　スクロールしないで</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/GoogleMaps.png" class="googleMaps" onload="drawMapWheelMap();"&gt;
&lt;div id="wheelMap" style="width:500px;height:200px;"&gt;&lt;/div&gt;
&lt;p&gt;Google Mapsをマウスに付いているホイールで拡大縮小できると気持ち良い。&lt;code&gt;GMap2&lt;/code&gt;オブジェクトに対し&lt;code&gt;enableScrollWheelZoom&lt;/code&gt;メソッドを使えば、ホイールで拡大縮小ができるようになる。だけど、ページも同時にスクロールしてしまうことが問題だった。&lt;/p&gt;
&lt;p&gt;調べてみたけど、なかなか難しい。結局、どこかの掲示板で&lt;a href="http://www.princeton.edu/~invasive/mapmarker.html"&gt;Mapping Application &amp; Data Entry @ Woodrow Wilson School, Princeton University&lt;/a&gt;というのを見つけた。ホイールで拡大縮小しつつ、ページスクロールしていない！掲示板では、この作者が「ホイールで拡大しようとすると一段階ではなく二段階拡大してしまう」と助けを求めていた。ソースを見れば直ぐ分かる通り、&lt;code&gt;enableScrollWheelZoom&lt;/code&gt;で一段階拡大し、さらに自分のオリジナルコードで一段階拡大している。きちんと掲示板では誰かが指摘していたけど、まだ治っていない。不思議。&lt;/p&gt;
&lt;p&gt;何はともあれ、エッセンスは下のソースの通り。GoogleMaps上でのホイールを回すイベントは&lt;code&gt;GEvent.addDomListener&lt;/code&gt;でゲットして、ウィンドウに対しては無効化しちゃう。&lt;/p&gt;
&lt;p&gt;実装してみるとやっぱり気持ち良い！Google Maps本体でも実装しないのかな？&lt;/p&gt;
&lt;div style="border:1px solid gray; background:#F5F5F5; width:500px; padding:5px; font-size:100%;"&gt;&lt;code&gt;&lt;pre&gt;
&amp;lt;div id="wheelMap" style="width:500px;height:200px;"&amp;gt;&amp;lt;/div&amp;gt;
&lt;span style="color:purple;"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
  var map = new GMap2(document.getElementById("wheelMap"));
  map.addControl(new GMapTypeControl(1));
  map.setCenter(new GLatLng(35.5577, 139.7249), 17);

  map.&lt;span style="color:red;"&gt;enableScrollWheelZoom()&lt;/span&gt;;  
  map.enableContinuousZoom();

&lt;span style="color:blue;"&gt;
  GEvent.addDomListener(document.getElementById("wheelMap"),
     "DOMMouseScroll", &lt;span style="color:red;"&gt;CancelEvent&lt;/span&gt;); // Firefox
  GEvent.addDomListener(document.getElementById("wheelMap"),
     "mousewheel",     &lt;span style="color:red;"&gt;CancelEvent&lt;/span&gt;); // IE
&lt;/span&gt;

function &lt;span style="color:red;"&gt;CancelEvent(event)&lt;/span&gt;
{
  e = event;
  if (typeof e.preventDefault  == 'function') 
        e.preventDefault();
  if (typeof e.stopPropagation == 'function')
        e.stopPropagation();
  if (window.event) {
     window.event.cancelBubble = true; // for IE
     window.event.returnValue = false; // for IE
  }
}
&lt;span style="color:purple;"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-5731836156693455313?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/5731836156693455313/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=5731836156693455313' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/5731836156693455313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/5731836156693455313'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/google-maps.html' title='Google Mapsのホイール拡大縮小　スクロールしないで'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-506719583106461691</id><published>2007-06-09T15:44:00.000+09:00</published><updated>2007-06-17T08:17:14.406+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Maps'/><title type='text'>Google Mapsにカスタムボタンを配置</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/GoogleMaps.png" class="googleMaps" onload="drawMapTestMap();"&gt;
&lt;div id="testMap" style="width:500px;height:200px;"&gt;&lt;/div&gt;
&lt;p&gt;このマップの右上のようにカスタムボタンを配置したかったけど、なかなか良いサンプルが見つからなくて苦労した。&lt;a href="http://www.google.com/apis/maps/documentation/index.html#Custom_Controls"&gt;Custom Map Controls&lt;/a&gt;にもサンプルあるけど、少し冗長に思えたので、エッセンスを踏まえて完成したのが下のソース。&lt;/p&gt;
&lt;div style="border:1px solid gray; background:#F5F5F5; width:500px; padding:5px; font-size:100%;"&gt;&lt;code&gt;&lt;pre&gt;
&amp;lt;div id="testMap" style="width:500px;height:200px;"&amp;gt;&amp;lt;/div&amp;gt;

&lt;span style="color:purple;"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
  &lt;span style="color:green;"&gt;//地図の作成と表示&lt;/span&gt;
  var map = new GMap2(document.getElementById("testMap"));
  map.addControl(new GMapTypeControl(1));
  map.setCenter(new GLatLng(35.5577, 139.7249), 17);

  &lt;span style="color:green;"&gt;//ボタンの作成&lt;/span&gt;
  pMBlink=document.createElement("img");
  pMBlink.src=
     "http://genisgen.googlepages.com/markersMap.png";
  pMBlink.style.border="0px";
  pMBlink.style.cursor="pointer";
  pMBlink.title="photoMap Browserを表示";
  GEvent.addDomListener(pMBlink, "click", function() {
    alert("Clicked!");
  });

  &lt;span style="color:green;"&gt;//ボタンの表示&lt;/span&gt;
  var pos = new &lt;a href="http://www.google.com/apis/maps/documentation/reference.html#GControlPosition"&gt;GControlPosition&lt;/a&gt;(
    &lt;a href="http://www.google.com/apis/maps/documentation/reference.html#GControlAnchor"&gt;G_ANCHOR_TOP_RIGHT&lt;/a&gt;, new GSize(1,29)
  );
  pos.apply(pMBlink);
  map.getContainer().appendChild(pMBlink);
&lt;span style="color:purple;"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/code&gt;&lt;/div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-506719583106461691?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/506719583106461691/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=506719583106461691' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/506719583106461691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/506719583106461691'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/test-map.html' title='Google Mapsにカスタムボタンを配置'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-7840812454903811015</id><published>2007-06-07T22:45:00.000+09:00</published><updated>2007-06-17T09:06:02.072+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>写真地図ブラウザ制作２ ブラウザの角を丸く</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/javascript.png" class="javascript"&gt;
&lt;p&gt;ブラウザの角はやはり丸くしたい。&lt;/p&gt;
&lt;p&gt;javascriptでカッコよくやる方法があったはずと、ブックマークを探してみたけど無かった。少し探すと&lt;a href="http://www.ruzee.com/blog/shadedborder"&gt;RUZEE.ShadedBorder &lt;/a&gt;というのが高機能で良い感じ。&lt;a href="http://www.ruzee.com/files/shadedborder/test.html"&gt;サンプル&lt;/a&gt;もカッコイイ。しかし実装方法がカッコ悪い。挙動も少し不審。なんかソースが汚そう。このjsファイルは短いので、少し読み込んで改良しようとも考えた。けどめんどくさいので、他を探すことにした。&lt;/p&gt;
&lt;p&gt;javascriptでsvgをしようという&lt;a href="http://code.google.com/p/svg2vml/wiki/SampleCode"&gt;プロジェクト&lt;/a&gt;でも角を丸くすることは可能。サンプルは&lt;a href="http://jsviz.org/files/svg2vml/svg2vmlRoundedDiv.html"&gt;こんな感じ&lt;/a&gt;。だけど実装方法がごちゃごちゃ。しかもこのプロジェクト自体があまり動いていない感じ。なのでもう少し探してみることに。&lt;/p&gt;
&lt;p&gt;色々な方法があるらしい。&lt;a href="http://hyper-text.org/archives/2006/12/collect_rounded_corners.shtml"&gt;角丸に関するあれこれ @ WWW watch&lt;/a&gt;にまとまっている。Goggleでrounded divで&lt;a href="http://www.google.co.jp/search?hl=ja&amp;newwindow=1&amp;q=rounded+div&amp;lr="&gt;検索&lt;/a&gt;しても結構色々出てくる。&lt;/p&gt;
&lt;p&gt;色々見ていくとjavascriptで実現するのは、あまりカッコよくないように思えてきた。特に&lt;a href="http://www.sitepoint.com/article/rounded-corners-css-javascript"&gt;Rounded Corners with CSS and JavaScript @ sitepoint&lt;/a&gt;を読んでCSS＋画像でやることに決めた。&lt;/p&gt;
&lt;p&gt;ただ、この方法の問題は丸い角の画像の準備。しかし&lt;a href="http://wigflip.com/cornershop/"&gt;corner shop&lt;/a&gt;が必要な画像を自動生成してくれる！このページで、"Box Background"が角を丸くしたい領域の色。"Page
Background"がその領域の背景色。"Corner
Radius"が丸い角の半径。"Transparent"が透明にしたい対象。これらのパラメータを設定し、後は"Create Graphics"ボタンを押すだけ。この画像を使って角が丸いボックスを表示するためのCSSとHTMLも自動生成してくれる。&lt;/p&gt;
&lt;p&gt;ただ、ここで新たな問題が。この自動生成されるCSSとHTMLは背景が透明な場合に対応していない。色々と試してみたけれども、この方法だと無理そう。ということで、自分で&lt;code&gt;table&lt;/code&gt;を使って、素直に作ってみることにした。結果は、以下の通り。&lt;/p&gt;
&lt;div style="border:1px solid gray; background:#F5F5F5; width:500px; padding:5px; font-size:100%;"&gt;&lt;code&gt;&lt;pre&gt;
&amp;lt;style typte="text/css"&amp;gt;
table.rounded {
 width  : 98%;
 height : 98%;
}
td.Rnw {
 background : url(nw.gif);
 height : 20px; width : 20px;
}
td.Rn {
 background : #000;
 height : 20px;
 line-height : 1em;
}
td.Rne  {
 background: url(ne.gif);
 height : 20px; width : 20px;
}
td.Rmw, td.Rme {
 background : #000;
}
td.Rm  {
 height : 100%;
}
div.Rcontent {
 background : #333;
 color : #fff;
 height : 100%;
}
td.Rsw {
 background : url(sw.gif);
 height : 20px; width : 20px;
}
td.Rs {
 background : #000;
 height : 20px;
 line-height : 1em;
}
td.Rse  {
 background : url(se.gif);
 height : 20px; width : 20px;
}
&amp;lt;/style&amp;gt;
&amp;lt;body style="background:#ddd"&amp;gt;
&amp;lt;table class="rounded" cellpadding=0 cellspacing=0&amp;gt;
&amp;lt;tr&amp;gt;&amp;lt;td class="Rnw"/&amp;gt;&amp;lt;td class="Rn"&amp;gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td class="Rne"&amp;gt;&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;&amp;lt;td class="Rmw"/&amp;gt;&amp;lt;td class="Rm"&amp;gt;&amp;lt;div class="Rcontent"&amp;gt;
本文
&amp;lt;/div&amp;gt;
&amp;lt;/td&amp;gt;&amp;lt;td class="Rme"/&amp;gt;&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;&amp;lt;td class="Rsw"/&amp;gt;&amp;lt;td class="Rs"&amp;gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td class="Rse"&amp;gt;&amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;/body&amp;gt;
&lt;/pre&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;ここで苦労したのは「ウィンドウサイズを変更したら、ブラウザのサイズも変更される」ようにすること。&lt;code&gt;&amp;lt;td&amp;gt;&lt;/code&gt;の&lt;code&gt;width&lt;/code&gt;を&lt;code&gt;98%-20px&lt;/code&gt;みたいに指定できれば、分かりやすくシンプルなCSS+HTMLになるとは思うのだけれども。javasriptで疑似的に実装しても良いかも。サンプルはこんな感じ。&lt;/p&gt;
&lt;style typte="text/css"&gt;
table.rounded {
 width  : 98%;
 height : 200px;
}
td.Rnw {
 background : url(http://www.geocities.jp/genwasgen/img/nw.gif);
 height : 20px; width : 20px;
}
td.Rn {
 background : #000;
 height : 20px;
 line-height : 1em;
}
td.Rne  {
 background: url(http://www.geocities.jp/genwasgen/img/ne.gif);
 height : 20px; width : 20px;
}
td.Rmw, td.Rme {
 background : #000;
}
td.Rm  {
 height : 100%;
}
div.Rcontent {
 background : #333;
 color : #fff;
 height : 100%;
}
td.Rsw {
 background : url(http://www.geocities.jp/genwasgen/img/sw.gif);
 height : 20px; width : 20px;
}
td.Rs {
 background : #000;
 height : 20px;
 line-height : 1em;
}
td.Rse  {
 background : url(http://www.geocities.jp/genwasgen/img/se.gif);
 height : 20px; width : 20px;
}
&lt;/style&gt;
&lt;table class="rounded" cellpadding=0 cellspacing=0&gt;
&lt;tr&gt;&lt;td class="Rnw"/&gt;&lt;td class="Rn"&gt;&amp;nbsp;&lt;/td&gt;&lt;td class="Rne"&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="Rmw"/&gt;&lt;td class="Rm"&gt;&lt;div class="Rcontent"&gt;
本文
&lt;/div&gt;
&lt;/td&gt;&lt;td class="Rme"/&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="Rsw"/&gt;&lt;td class="Rs"&gt;&amp;nbsp;&lt;/td&gt;&lt;td class="Rse"&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-7840812454903811015?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/7840812454903811015/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=7840812454903811015' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/7840812454903811015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/7840812454903811015'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/blog-post_1445.html' title='写真地図ブラウザ制作２ ブラウザの角を丸く'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-5894972301596841945</id><published>2007-06-07T22:35:00.000+09:00</published><updated>2007-06-17T09:07:22.378+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>写真地図ブラウザ制作１ ブラウザの表示</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/javascript.png" class="javascript"&gt;
&lt;p&gt;昨日の分&lt;/p&gt;
&lt;div style="border:1px solid gray; background:#F5F5F5; width:500px; padding:5px; font-size:100%;"&gt;&lt;code&gt;&lt;pre&gt;
&amp;lt;SCRIPT&amp;gt;
function scrolled(st){
 document.getElementById("box").style.top=
      10+(&lt;span style="color:red;"&gt;document.body.scrollTop || 
          document.documentElement.scrollTop&lt;/span&gt;);
 document.getElementById("box").style.left=
      10+(&lt;span style="color:red;"&gt;"document.body.scrollLeft || 
          document.documentElement.scrollLeft&lt;/span&gt;);
 document.getElementById("box").style.display="block";
}
&amp;lt;/SCRIPT&amp;gt;
&amp;lt;BODY onclick=scrolled(this.scrollTop)&amp;gt;
&amp;lt;div id="box" 
   style="width:100px; height:100px;
          background:#000;
          position:absolute; left:10px; top:10px;
          display:none;"&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div 
   style="width:2000px; height:2000px;
          background:#ddd;"&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/BODY&amp;gt;
&lt;/pre&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-5894972301596841945?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/5894972301596841945/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=5894972301596841945' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/5894972301596841945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/5894972301596841945'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/blog-post_07.html' title='写真地図ブラウザ制作１ ブラウザの表示'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-8212235646577648533</id><published>2007-06-05T19:55:00.000+09:00</published><updated>2007-06-17T08:18:17.625+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>『前の投稿』で遷移すると写真が表示されない（解決！）</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/javascript.png" class="javascript"&gt;
&lt;p&gt;これまで写真の投稿は次のようにしていた。&lt;/p&gt;
&lt;div style="border:1px solid gray; background:#F5F5F5; width:500px; padding:5px; font-size:100%;"&gt;&lt;code&gt;&lt;pre&gt;
&amp;lt;div id="photo&lt;span style="color:blue;"&gt;527593023&lt;/span&gt;"&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;script type='text/javascript'&amp;gt;
 writePhotoMap("&lt;span style="color:blue;"&gt;527593023&lt;/span&gt;");
&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;青の数字の部分がflickrのphoto ID。この投稿のHTMLが読み込まれると、&lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt;内の関数&lt;code&gt;writePhotoMap()&lt;/code&gt;が実行されて、
&lt;code&gt;&amp;lt;div id="photoXXXXXXXXX"&amp;gt;&lt;/code&gt;に写真とかが色々とjavascriptで書き込まれていくというのが、当初のもくろみ。&lt;p/&gt;
&lt;p&gt;通常は、これで問題なく写真とかが表示される。ところが、トップ画面の一番下にある『前の投稿』で、過去記事を見ようとすると、見れない！試しに上記の&lt;code&gt;writePhotoMap()&lt;/code&gt;の前に&lt;code&gt;alert("");&lt;/code&gt;とか入れても、何もポップアップされない。どうやら&lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt;内が実行されていないらしい。ならば、と&lt;code&gt;&amp;lt;body&amp;gt;&lt;/code&gt;に&lt;code&gt;onload="alert('');"&lt;/code&gt;を付け加えてみるけど、これも実行されない。&lt;p/&gt;
&lt;p&gt;アドレスバーとか『前の投稿』のリンクを見ると、java servletにGET送信して、リダイレクト？かなんかで過去の記事を表示しているみたい。う～ん、このリダイレクトか何かは仕事でも悩まされたことがあった。そのときに探せた情報は概念的なものばかりで。tomcatとbrowserとの間での細かいやりとりの仕組みが分からなかった。ここで嫌な予感が…。&lt;p/&gt;
&lt;p&gt;とりあえず、WEBで情報収集しようとしてみたけど、なかなか難しい。検索語はonload javascript？　なんか違う。次にbloggerのヘルプであるような気がした。Google Mapsをblogで表示したい時は同じ問題に行き当たるはず。ここで『前の投稿』をprevious postsと訳してしまった。不覚。正解はolder posts。例えば、&lt;a href="http://adwordsapi.blogspot.com/"&gt;AdWords API Blog&lt;/a&gt;の一番下で確認できる。&lt;/p&gt;
&lt;p&gt;まぁ、辿り着いたのがDummies Gide to Google Blogger Betaの&lt;a href="http://betabloggerfordummies.blogspot.com/2006/11/add-google-map-to-your-blog.html"&gt;Add a Google Map to your blog&lt;/a&gt;というページ。ここのサンプルソースに&lt;code&gt;&amp;lt;onunload="GUnload()"&gt;&amp;gt;&lt;/code&gt;というのが&lt;code&gt;&amp;lt;body&amp;gt;&lt;/code&gt;タグに付けてある。これが対策かと思ったけども、関数&lt;code&gt;GUnload()&lt;/code&gt;はどこにも定義されていない。&lt;/p&gt;
とりあえず、unload javascriptで検索。そこで引っかかったのがMSDNの&lt;a href="http://msdn2.microsoft.com/en-us/library/ms536942.aspx"&gt;onload Eventのページ&lt;/a&gt;。APPLET, BODY, EMBED, FRAME, FRAMESET, IFRAME, IMG, LINK, SCRIPT, windowのオブジェクトでこのイベントは取得できるとのこと。MSのJScriptということで一抹の不安はあったけど、とりあえず、適当に&lt;code&gt;&amp;lt;IMG&amp;gt;&lt;/code&gt;を入れて使ってみた。そしたら成功。どきどきしながらFirefoxで実行。これも上手く動いた。やったー。&lt;/p&gt;
&lt;p&gt;あとは、&lt;code&gt;&amp;lt;IMG&amp;gt;&lt;/code&gt;を不自然なく入れればOK。そこでカメラアイコンをチョイス。結果は以下のコード。&lt;/p&gt;
&lt;div style="border:1px solid gray; background:#F5F5F5; width:500px; padding:5px; font-size:100%;"&gt;&lt;code&gt;&lt;pre&gt;
&amp;lt;IMG src="http://genisgen.googlepages.com/maps_camera.png" class="camera" onload="writePhotoMap('&lt;span style="color:blue;"&gt;527593023&lt;/span&gt;');"&amp;gt;&amp;lt;div id="photo&lt;span style="color:blue;"&gt;527593023&lt;/span&gt;"&amp;gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;写真の投稿の場合は、まずカメラアイコンを表示し、そのアイコンを呼び出す時に写真とかの記事本体の情報をその後ろにある&lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt;に書き込むと、理解できる。&lt;/p&gt;
&lt;p&gt;なんか対処療法的で問題のような気もしたけど、このソースはある意味分かりやすいと思った。ソースに明示的に「いつ」（＝カメラアイコンが呼び出された時）写真とかの記事本体を書き込むのかが書かれている。いままでのソースだと、browserがソースをparseしていって&lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt;のところで、書き込み命令を実行していたと理解しなければいけなかったので、browserのparseという非明示的なところを意識しなければならなかった。&lt;/p&gt;
&lt;p&gt;ということで、このソースで良しとすることにした。アイコンのお陰で、写真に関する投稿だと分かりやすくなったし。まぁ、普通にblogをみる人は、まさかこのアイコンがあって初めて記事本体が表示されるとは思わないだろうけど…。（了）&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-8212235646577648533?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/8212235646577648533/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=8212235646577648533' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/8212235646577648533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/8212235646577648533'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/blog-post_05.html' title='『前の投稿』で遷移すると写真が表示されない（解決！）'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-5135740076672577518</id><published>2007-06-03T19:59:00.001+09:00</published><updated>2007-06-17T08:18:31.514+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='写真'/><title type='text'>アジサイのこれから</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/maps_camera.png" class="camera" onload="writePhotoMap('527593023');"&gt;&lt;div id="photo527593023"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-5135740076672577518?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/5135740076672577518/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=5135740076672577518' title='3 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/5135740076672577518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/5135740076672577518'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/blog-post_2838.html' title='アジサイのこれから'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-8260732530032963737</id><published>2007-06-03T19:30:00.000+09:00</published><updated>2007-06-17T08:19:21.365+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='写真'/><title type='text'>on the way to my friend' house 友達の家への道中</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/maps_camera.png" class="camera" onload="writePhotoMap('496033392');"&gt;&lt;div id="photo496033392"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-8260732530032963737?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/8260732530032963737/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=8260732530032963737' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/8260732530032963737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/8260732530032963737'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/on-way-to-my-friend-house.html' title='on the way to my friend&apos; house 友達の家への道中'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-9115006362510811941</id><published>2007-06-03T12:55:00.000+09:00</published><updated>2007-06-27T23:52:02.775+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='flickrAPI'/><title type='text'>Flickr API</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/javascript.png" class="javascript"&gt;
&lt;div style="border:1px solid gray; background:#F5F5F5; width:500px; padding:5px; font-size:100%;"&gt;
&lt;code&gt;&lt;pre&gt;
&amp;lt;input type="button" value="call" onClick="callFlickr();"&amp;gt;
&amp;lt;script src="prototype.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type="text/javascript"&amp;gt;
&amp;lt;!--
 function callFlickr(){
    var param={};
    &lt;span style="color:green;"&gt;// APIリクエストパラメタの設定&lt;/span&gt;
    param.method   = 'flickr.photos.getSizes';
    param.api_key  = '46aae73ef606fb170b318268699a991a';
    param.photo_id = '496065935';
    param.format   = 'json';
    param.jsoncallback = 'jsonFlickrApi';

    &lt;span style="color:green;"&gt;// APIリクエストURLの生成(GETメソッド)&lt;/span&gt;
    var url = 'http://www.flickr.com/services/rest/?'+
               obj2query( param );

    &lt;span style="color:green;"&gt;// script 要素の発行&lt;/span&gt;
    var script  = document.createElement( 'script' );
    script.type = 'text/javascript';
    script.src  = url;
    document.body.appendChild( script );
    document.write("FlickrAPI done.");
 }

 &lt;span style="color:green;"&gt;// オブジェクトからクエリー文字列を生成する関数&lt;/span&gt;
 function obj2query ( obj ) {
    var list = [];
    for( var key in obj ) {
        var k = encodeURIComponent(key);
        var v = encodeURIComponent(obj[key]);
        list[list.length] = k+'='+v;
    }
    var query = list.join( '&amp;' );
    return query;
 }

 &lt;span style="color:green;"&gt;// Flickr検索終了後のコールバック関数&lt;/span&gt;
 function jsonFlickrApi ( data ) {
    alert("jsonFlickrAPI called");
    var list=data.sizes.size;
    var msize=list.find(
                function(obj,index) {
                 return obj.label == "Medium";
                }
              );
    alert(msize.source);
 }
--&amp;gt;
&amp;lt;/script&amp;gt;
&lt;/pre&gt;&lt;/code&gt;&lt;/div&gt;

&lt;INPUT type='button' value='gen' onClick="alert( $('photoChoices').innerHTML);"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-9115006362510811941?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/9115006362510811941/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=9115006362510811941' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/9115006362510811941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/9115006362510811941'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/blog-post_03.html' title='Flickr API'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-468941516532579487</id><published>2007-06-02T23:51:00.000+09:00</published><updated>2007-06-17T08:19:50.994+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>Javascript上でのオブジェクト・データベースprototype.jsとJSONで</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/javascript.png" class="javascript"&gt;&lt;BR/&gt;
&lt;B&gt;ソース：&lt;/B&gt;
&lt;div style="border:1px solid gray; background:#f5f5f5; width:500px; padding:5px; font-size:100%;"&gt;
&lt;code&gt;
&amp;lt;script src="prototype.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;BR/&gt;
&amp;lt;script&amp;gt;&lt;BR/&gt;
&lt;span style="color:darkgreen;"&gt;//データベースの作成&lt;/span&gt;&lt;BR/&gt;
&amp;nbsp;var objDB = new Array();&lt;BR/&gt;
&amp;nbsp;objDB.push( { id: '235', value: '二百三十五' } );&lt;BR/&gt;
&amp;nbsp;objDB.push( { id: '372', value: '三百七十二' } );&lt;BR/&gt;
&amp;nbsp;objDB.push( { id: '102', value: '百二' } );&lt;BR/&gt;
&lt;BR/&gt;
&lt;span style="color:darkgreen;"&gt;//データベースの内容を表示&lt;/span&gt;&lt;BR/&gt;
&amp;nbsp;objDB.&lt;a href="http://www.imgsrc.co.jp/~kuriyama/prototype/prototype.js.html#Reference.Enumerable"&gt;each&lt;/a&gt;(&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;function( obj, index ) {&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.write(&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"objDB["+index+"]:"&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+"obj.id="+obj.id+","&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+"obj.value="+obj.value"&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ "&amp;lt;BR/&amp;gt;"&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;);&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;}&lt;BR/&gt;
&amp;nbsp;);&lt;BR/&gt;
&lt;BR/&gt;
&lt;span style="color:darkgreen;"&gt;//データベースの内容を検索する関数&lt;/span&gt;&lt;BR/&gt;
&amp;nbsp;function get( id ) {&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;return&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;objDB.&lt;a href="http://www.imgsrc.co.jp/~kuriyama/prototype/prototype.js.html#Reference.Enumerable"&gt;find&lt;/a&gt;(&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function( obj, index ) {&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return obj.id == id;&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;);&lt;BR/&gt;
&amp;nbsp;}&lt;BR/&gt;
&lt;BR/&gt;
&lt;span style="color:darkgreen;"&gt;//データベースの検索を実行&lt;/span&gt;&lt;BR/&gt;
&amp;nbsp;var resultObj = get( '372' );&lt;BR/&gt;
&amp;nbsp;document.write("id=372のvalueは"+resultObj.value );&lt;BR/&gt;
&amp;lt;/script&amp;gt;&lt;BR/&gt;
&lt;BR/&gt;
&lt;/code&gt;
&lt;/div&gt;
元ネタ：&lt;a href="http://www.greenspace.info/mt/2007/02/javascript_prot.html"&gt;Javascriptにおける配列と連想配列 prototype.js編 その1 @GreenSpace&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-468941516532579487?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/468941516532579487/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=468941516532579487' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/468941516532579487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/468941516532579487'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/javascript-prototypejsjson.html' title='Javascript上でのオブジェクト・データベース&lt;BR/&gt;prototype.jsとJSONで'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-1013600431292955476</id><published>2007-06-02T00:29:00.000+09:00</published><updated>2007-06-17T09:03:15.318+09:00</updated><title type='text'>Google Spreadsheetsをデータベースとして活用JSONでデータ取得</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/javascript.png" class="javascript"&gt;&lt;BR/&gt;
&lt;h4&gt;Google Spreadsheetsでデータ作成・アクセス設定&lt;/h4&gt;
まずは、Google Spreadsheetsでデータを作成。&lt;BR/&gt;
例えば、次のような感じ。&lt;BR/&gt;
&lt;img style="border:0px;" src="http://www.geocities.jp/genwasgen/img/googleSpreadsheetExp.png" border="0" alt="" /&gt;
&lt;BR/&gt;
次に、このスプレッドシートを公開する設定をする。&lt;/BR&gt;
右のほうにある『公開』タブをクリックして『公開する』ボタンを押せば、公開されちゃう。&lt;BR/&gt;
&lt;img style="border:0px;" src="http://www.geocities.jp/genwasgen/img/googleSpreadsheetPublic01.png" border="0" alt="" /&gt;
&lt;BR/&gt;
次に、JSONでデータを取得できるように公開の形式を設定する。&lt;BR/&gt;
&lt;img style="border:0px;" src="http://www.geocities.jp/genwasgen/img/googleSpreadsheetPublic02.png" border="0" alt="" /&gt;
&lt;BR/&gt;
下の方にある『公開の詳細設定』リンクをクリック。&lt;BR/&gt;
&lt;img style="border:0px;" src="http://www.geocities.jp/genwasgen/img/googleSpreadsheetPublic03.png" border="0" alt="" /&gt;
&lt;BR/&gt;
『ファイル形式：』を『ATOM』とする。これで、スプレッドシート側の設定は完了。&lt;BR/&gt;
次に、『URLを生成』ボタンを押す。ここで生成されたURLから、このスプレッドシートのIDが分かる。
この例だと『&lt;code&gt;o03298909112281802961.454088638750018433/od6&lt;/code&gt;』。&lt;BR/&gt;
&lt;BR/&gt;
&lt;h4&gt;Javascriptでデータ取得＋表示&lt;/h4&gt;
&lt;B&gt;ソース：&lt;/B&gt;
&lt;div style="border:1px solid gray; background:#EEEEEE; width:500px; padding:5px; font-size:100%;"&gt;
&lt;code&gt;
&amp;lt; div id ="result" &amp;gt; loading...&amp;lt;/div&amp;gt;&lt;BR/&gt;
&amp;lt; script type="text/javascript" &amp;gt;&lt;BR/&gt;
&amp;lt;!--&lt;BR/&gt;
&amp;nbsp;var html="";&lt;BR/&gt;
&amp;nbsp;function &lt;span style="color:red"&gt;loadJSON&lt;/span&gt;(json) {&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;html += "&amp;lt;TABLE&amp;gt;";&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;for (var i = 0; i &amp;lt; json.feed.entry.length; i++) {&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;html += "&amp;lt;TR&amp;gt;";&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var entry = json.feed.entry[i];&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(entry["gsx$&lt;span style="color:blue"&gt;photoid&lt;/span&gt;"]) {&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;html += "&amp;lt;TD&amp;gt;"+entry.gsx$&lt;span style="color:blue"&gt;photoid&lt;/span&gt;.$t+"&amp;lt;/TD&amp;gt;"&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ "&amp;lt;TD&amp;gt;"+entry.gsx$&lt;span style="color:blue"&gt;lat&lt;/span&gt;.$t+"&amp;lt;/TD&amp;gt;"&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ "&amp;lt;TD&amp;gt;"+entry.gsx$&lt;span style="color:blue"&gt;lng&lt;/span&gt;.$t+"&amp;lt;/TD&amp;gt;"&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ "&amp;lt;TD&amp;gt;"+entry.gsx$&lt;span style="color:blue"&gt;flickrphotohtml&lt;/span&gt;.$t+"&amp;lt;/TD&amp;gt;";&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;html += "&amp;lt;/TR&amp;gt;";&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;html += "&amp;lt;/TABLE&amp;gt;";&lt;BR/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;document.getElementById("result").innerHTML = html;&lt;BR/&gt;
&amp;nbsp;}&lt;BR/&gt;
--&amp;gt;&lt;BR/&gt;
&amp;lt;/script&amp;gt;&lt;BR/&gt;
&amp;lt;script src="http://spreadsheets.google.com/feeds/list/&lt;span style="color:blue"&gt;o03298909112281802961.454088638750018433/od6&lt;/span&gt;/public/values?alt=json-in-script&amp;callback=&lt;span style="color:red"&gt;loadJSON&lt;/span&gt;" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;
&lt;/div&gt;
最後の&lt;code&gt;&amp;lt;script src="http://..." &amp;gt;&lt;/code&gt;のところでGoogle SpreadsheetsのAPIにアクセスして『&lt;code style='color:blue;'&gt;o03298909112281802961.454088638750018433/od6&lt;/code&gt;』のスプレッドシートのデータを取得し、
引数&lt;code&gt;callback&lt;/code&gt;で指定された関数&lt;code style='color:red;'&gt;loadJSON&lt;/code&gt;を呼び出す。&lt;BR/&gt;
&lt;BR/&gt;
&lt;B&gt;実行例（お化粧付き）：&lt;/B&gt;
&lt;TABLE cellpading=0 cellspacing=1 style='background:black;'&gt;
  &lt;TR style='background:lightblue;'&gt;
    &lt;TD&gt;photoID&lt;/TD&gt;&lt;TD&gt;lat&lt;/TD&gt;&lt;TD&gt;lng&lt;/TD&gt;&lt;TD&gt;flickrPhotoHTML&lt;/TD&gt;
  &lt;/TR&gt;
  &lt;TR style='background:white;'&gt;
    &lt;TD&gt;496065935&lt;/TD&gt;&lt;TD&gt;35.5577079868245&lt;/TD&gt;
    &lt;TD&gt;139.724928438663&lt;/TD&gt;&lt;TD&gt;496065935_b01811832a&lt;/TD&gt;
  &lt;/TR&gt;
  &lt;TR style='background:white;'&gt;
    &lt;TD&gt;493652910&lt;/TD&gt;&lt;TD&gt;35.556002&lt;/TD&gt;
    &lt;TD&gt;139.725862&lt;/TD&gt;&lt;TD&gt;493652910_d0c7fb9409&lt;/TD&gt;
  &lt;/TR&gt;
&lt;/TABLE&gt;
&lt;BR/&gt;
&lt;B&gt;注意点（というかハマった点）：&lt;/B&gt;
&lt;ul&gt;
&lt;li/&gt;IEだと、&lt;code&gt;&amp;lt;script src="http..."&lt;/code&gt; /&amp;gt;では&lt;code style='color:red;'&gt;loadJSON&lt;/code&gt;が呼び出されない。&lt;BR/&gt;
Firefoxでは呼び出されるけども。&lt;code&gt;&amp;lt;script src="http..." &amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;とすれば、IEでもFirefoxでも大丈夫。Firefoxの『ツール(&lt;U&gt;T&lt;/U&gt;)&gt;エラーコンソール(&lt;U&gt;C&lt;/U&gt;)』でデバッグしてからIEで試してみたら動かなくてびっくり。
&lt;li/&gt;スプレッドシートでカラム名に大文字を使ってもJSONでは全て小文字に変換される。&lt;BR/&gt;
上の例だと、スプレッドシートでは『&lt;code&gt;photoID&lt;/code&gt;』としたけども、JSONでは『&lt;code&gt;photoid&lt;/code&gt;』。&lt;code&gt;alert(entry.toSource());&lt;/code&gt;に凄く助けられた。
&lt;/ul&gt;
&lt;B&gt;JSON&lt;/B&gt;(上のソースでのentry)&lt;BR/&gt;
&lt;div style="border:1px solid gray; background:#EEEEEE; width:500px; padding:5px; font-size:100%;"&gt;
&lt;code&gt;&lt;pre&gt;
({
 id       : { $t : "http://spreadsheets.google.com/feeds/list/
              o03298909112281802961.454088638750018433/
              od6/public/values/cpzh4" },
 updated  : { $t : "2007-06-02T13:40:35.085Z" },
 category : [
  {
   scheme : "http://schemas.google.com/spreadsheets/2006",
   term   : "http://schemas.google.com/spreadsheets/2006#list"
  }
 ],
 title   : { type : "text", $t : "493652910" },
 content : { type : "text", $t : "lat: 35.556002,
                                  lng: 139.725862,
                                  flickrPhotoHTML:
                                  493652910_d0c7fb9409" },
 link    : [
  {
    rel  : "self",
    type : "application/atom+xml",
    href : "http://spreadsheets.google.com/feeds/list/"
            o03298909112281802961.454088638750018433/
            od6/public/values/cpzh4"
  }
 ],
 gsx$photoid         : { $t : "493652910" },
 gsx$lat             : { $t : "35.556002" },
 gsx$lng             : { $t : "139.725862" },
 gsx$flickrphotohtml : { $t : "493652910_d0c7fb9409" }
})
&lt;/pre&gt;&lt;/code&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-1013600431292955476?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/1013600431292955476/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=1013600431292955476' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/1013600431292955476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/1013600431292955476'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/06/var-cmmap-var-cmmapmarkers-var.html' title='Google Spreadsheetsをデータベースとして活用&lt;BR/&gt;JSONでデータ取得'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-1565249948603356452</id><published>2007-05-13T22:37:00.001+09:00</published><updated>2007-06-17T08:20:26.823+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geocoding'/><title type='text'>Geocoding</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/maps_camera.png" class="camera" onload="createGeocodingMap();"&gt;
緯度&lt;input id="geocoding_lat"&gt;　経度&lt;input id="geocoding_lng"&gt;
&lt;BR/&gt;
&lt;div id="geocoding_map" style="WIDTH: 550px; HEIGHT: 400px; border:1px solid black"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-1565249948603356452?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/1565249948603356452/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=1565249948603356452' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/1565249948603356452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/1565249948603356452'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/05/google-maps-javascript-api-example.html' title='Geocoding'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-7406320462482130446</id><published>2007-05-13T21:11:00.001+09:00</published><updated>2007-06-17T08:20:37.882+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='写真'/><title type='text'>a telegraph pole at night 夜の電柱</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/maps_camera.png" class="camera" onload="writePhotoMap('496065935');"&gt;&lt;div id="photo496065935"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-7406320462482130446?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/7406320462482130446/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=7406320462482130446' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/7406320462482130446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/7406320462482130446'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/05/telegraph-pole-at-night.html' title='a telegraph pole at night 夜の電柱'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7988980613793923883.post-2369225922209198502</id><published>2007-05-13T20:35:00.001+09:00</published><updated>2007-06-17T08:20:50.030+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='写真'/><title type='text'>grinding sludge へらしぼりの研摩かす</title><content type='html'>&lt;IMG src="http://www.geocities.jp/genwasgen/img/maps_camera.png" class="camera" onload="writePhotoMap('493652910');"&gt;&lt;div id="photo493652910"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7988980613793923883-2369225922209198502?l=genisgen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://genisgen.blogspot.com/feeds/2369225922209198502/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7988980613793923883&amp;postID=2369225922209198502' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/2369225922209198502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7988980613793923883/posts/default/2369225922209198502'/><link rel='alternate' type='text/html' href='http://genisgen.blogspot.com/2007/05/grinding-sludge.html' title='grinding sludge へらしぼりの研摩かす'/><author><name>genisgen</name><uri>http://www.blogger.com/profile/00536469439055593068</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.geocities.jp/genwasgen/img/genisgenSmallPhoto.jpg'/></author><thr:total>0</thr:total></entry></feed>
