標題のとおりですが、google geocoding API v3だとjsonpに対応しておらず、ブラウザからリクエストすることができません。この場合、素直にgoogle map APIからGecoderオブジェクトを使うとよいです。






このへんはGoogle map API Referenceに書いてあるんですが探しづらいのでURL張っときます。
sample: geocoding-simple.html

以下、コード

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&region=JP"></script>
<script type="text/javascript">
$(function(){
  var geocoder = new google.maps.Geocoder();
  $("#execute").click(function(){
    geocoder.geocode({
      address: $("#address").val()
    },
    function(data, status){
      if (status == google.maps.GeocoderStatus.OK) {
        $("#latitude").val(data[0].geometry.location.lat());
        $("#longitude").val(data[0].geometry.location.lng());
      } else {
        alert("次の理由でGoogle map APIがダメっぽいです: " + status);
      }
    });
  });
});
</script>
 

CakePHP1.3のflashMessageをtwitter風にする方法をメモ。
1.2系の人は所々コードが違ってくるはずなのでお気を付けて。

そもそもflashMessageってなんぞや?

これ、正確に何て呼ぶのかわかりません。
ControllerでSessionComponentにセットした文字列をViewのSessionHelperでflash()すると表示されるメッセージ、です。
実際にコードを書くとわかるかも?

//コントローラー
$this->Session->setFlash('これ、これこれ!');
//ビュー
echo $this->Sesion->flash();

わかりますか?
もう、何て呼べばいいのかよくわからないので以下「アレ」と呼ぶことにします。

Continue reading »

 

こんばんは。
最近寒すぎて、悴んだ手のせいで名刺交換にやたら時間がかかるさのじです。

最近取りかかっているサイトでは、jQueryでガシガシ共有プラグインを書いてます。
一番初めに、phpでいうvar_dump()の要領でjQueryオブジェクトをdumpするプラグインを書いたので紹介します。

(function($){
	$.fn.dump = function(){
		var elements = this;
		var dumphtml = [];

		elements.each(function(){
			var element = $(this);

			if($.browser.msie) {
				for(var i = 0; i < element.length; i++) {
					dumphtml.push(element[i].outerHTML.replace(/^[\r\n\t]+/, ''));
					dumphtml.push("\n");
				}
			} else {
				for(var i = 0; i < element.length; i++) {
					dumphtml.push('<' + element[i].nodeName.toLowerCase());

					for(var j = 0; j < element[i].attributes.length; j++) {
						dumphtml.push(' ' + element[i].attributes[j].nodeName + '="' + element[i].attributes[j].nodeValue + '"');
					}

					dumphtml.push('>' + element[i].innerHTML);
					dumphtml.push('<\/' + element[i].nodeName.toLowerCase() + '>');
					dumphtml.push("\n");
				}
			}
		});
		alert(dumphtml.join(''));

		return this;
	};
})(jQuery);

使い方は、対象のjQueryオブジェクトのdump()メソッドを実行するだけなのでお手軽です。

$("#test").dump();

こういうのって内容のわりに書くのがめんどくさい気がします。
firebugなどのjavascriptデバッグツールを使えば済むことなので、余計に書く気が起きませんでした。
同じような考えの方に使ってもらえたらうれしいです。

いじょ

© 2011 sanojimaru.com Suffusion theme by Sayontan Sinha