2008年1月22日
携帯でGoogleMapを手軽に表示するPHPクラス
皆さん、こんにちは。
笹亀です。
===
追記:みなさんからのたくさんのはてブをしていただけているので、せっかくなのでちょっと宣伝させてもらいます。
弊社の携帯コンテンツとして、携帯専用イベント支援サイト「あつまろ☆ねっと」というサービスを開始しました。「あつまろ☆ねっと(http://www.atmr.jp/)」は現在ベータ版ですが、ぜひぜひ利用してみてください。
後、恥ずかしながらPHPの本を出版することになりました。
ご興味のある方、気になる方、こちらもよろしくお願い致します^^
http://www.amazon.co.jp/exec/obidos/ASIN/4798114383/
===
遅くなりましたが、明けましておめでとうございます。
今年度もよろしくお願い致します。
先日ですが、毎月恒例の誕生日会を行いました。
メンバーの誰かが毎月誕生日を迎えるので、アシアルで毎月行っている行事のひとつです。
今月の誕生日(主役)は松田氏でした。今月もみんなで盛大にお祝いをしました。
ちなみに私の誕生日は先月の12月で、お祝いしていただきました^^
GooleMapはPC版でJavascriptを使用することで地図を表示して使用することが多かったですが、携帯用として使用するために特定の位置を画像として表示できるようになっています。今回はGoogleMapを携帯の地図として出力する方法を解説します。
まずは、特定の位置の地図を描画させたり設定をセットするクラスを作成します。
今回は、「GoogleMobileMapView」クラスとして作成しています。
<?php
//携帯でGoogleMapの画像をプリントするクラス
class GoogleMobileMapView{
//取得URLとクエリを保持する変数
private $geturl = 'http://maps.google.com/mapprint?tstyp=4';
private $query = "";
private $image_format = "1";
private $type = array("1"=>"gif","2"=>"png","3"=>"jpeg");
//画像を取得するためのURLをセットするメソッド
public function setUrl($latitude,$longitude,$settings,$points = null) {
//中心の位置がない場合はfalseを返す
if( $latitude == "" || $longitude == ""){
return false;
}
//画像を取得するためのパラメータをセットしていく
$this->query = $this->geturl . " &c=$longitude,$latitude";
if(!isset($settings["w"])) $settings["w"] = 200;
if(!isset($settings["h"])) $settings["h"] = 200;
if(!isset($settings["z"])) $settings["z"] = 0;
$this->query .= " &r={$settings["w"]},{$settings["h"]}";
$this->query .= " &z={$settings["z"]}";
//出力形式をセット(デフォルトはGIF
if(isset($settings["image_format"])) $this->image_format = $settings["image_format"];
$this->query .= " &image_format=" . $this->image_format;
//複数のポイントを表示するのにも対応させる
if(!is_array($points)) return true;
foreach( $points as $point ){
if(!isset($point["latitude"]) || !isset($point["longitude"])) continue;
if(!isset($point["iconid"]) ) $point["iconid"] = 15;
$this->query .= " &l={$point["longitude"]},{$point["latitude"]},{$point["iconid"]}";
}
return true;
}
//画像を出力するメソッド