IEでGoogleMapが表示されない。

以下に回避策が記述されている。

http://maps.google.co.jp/support/bin/answer.py?answer=21849&cbid=1es3k5ld60psl&src=cb&lev=%20index#
スポンサーサイト

php google Map api Ver3.0について(目的地までの経路を表示する)

addDirections関数を使用することで可能となる。

以下は、コーディング例である。
<?php
include_once("./php_google_map/GoogleMap.php");
include_once("./php_google_map/JSMin.php");

$DIRECTIONS_CONTAINER_ID = "map_directions";
$DIRECTIONS_CONTAINER_ID2 = "map_directions2";

$MAP_OBJECT = new GoogleMapAPI();
$MAP_OBJECT->_minify_js = isset($_REQUEST["min"])?FALSE:TRUE;
$MAP_OBJECT->setDSN("mysql://dbuser:dbuser@localhost/google_api");
$MAP_OBJECT->disableSidebar();
//$MAP_OBJECT->addDirections("Littleton, CO", "Englewood, CO", $DIRECTIONS_CONTAINER_ID, $display_markers=true);

//辻堂駅、里山公園
$MAP_OBJECT->addDirections("loc: 35.337048912602356,139.44723665714264", "loc: 35.37410289768044,139.41993981599808", $DIRECTIONS_CONTAINER_ID, $display_markers=false);
//湘南台駅、里山公園
$MAP_OBJECT->addDirections("湘南台駅", "loc: 35.37410289768044,139.41993981599808", $DIRECTIONS_CONTAINER_ID2, $display_markers=false);

//撮影会会場マーカー
$MAP_OBJECT->addMarkerByCoords(139.41993981599808,35.37410289768044 ,"", "撮影会会場(里山公園)");

// 地図の表示形式の初期値を指定
$MAP_OBJECT->setMapType('map');
// Street Viewを使用する。
$MAP_OBJECT->enableStreetViewControls();
// 地図大きさ指定(横幅)
$MAP_OBJECT->setWidth('500px');
// 地図大きさ指定(縦幅)
$MAP_OBJECT->setHeight('500px');

?>
<html>
<head>
<?=$MAP_OBJECT->getHeaderJS();?>
<?=$MAP_OBJECT->getMapJS();?>
</head>
<body>
<?=$MAP_OBJECT->printOnLoad();?>
<?=$MAP_OBJECT->printMap();?>
</body>
</html>

addDirection関数の$display_markers=falseをtrueにすると、出発地と目的地に
マーカーを表示させることができる。
この例は、addMarkerByCoords関数で目的地(撮影会会場)に
マーカーをたてているため、falseにしている。

上記関数は、Google Maps APIのDirectionsクラスを使用したものなので、
詳しくはこの部分の説明を参照のこと。



Google Map関係URL

以下は、Google Maps APIを評価しているときに見つけた情報である。

・PHPでGoogle Mapを使用する方法
www.ryo.com/2005/11/28/147/
digit-01.com/ownpage/ownpage_googlemap.html
sourceforge.jp/magazine/08/08/05/0144214

・Google Maps API Ver.3日本語ドキュメント(非公式)
sites.google.com/site/gmapsapi3/Home/services

・Google Map利用規約(和訳)
www.google.com/intl/ja_ALL/help/terms_maps.html

・利用規約参考ページ
blog.goo.ne.jp/jg2tkh/e/251e5c65b0cb9dbbef70ef2eaa152028

・Google Maps APIとGoogle Maps API Premireの違い
googleenterprise-ja.blogspot.com/2010/03/google-maps-apigoogle-maps-api-premier.html

Google Maps活用講座
googlemaps.googlermania.com/

ジオコーディング
phpspot.org/blog/archives/2009/06/phpgooglemapapi.html

php google Map api Ver3.0に関するもの(ソースダウンロード可能)
code.google.com/p/php-google-map-api/

上記API説明
www.phpinsider.com/php/code/GoogleMapAPI/
2010.09.01補足
もし、上記API説明で存在しないものがあった場合、
以下のドキュメントもあわせて参照すると良い。
www.bradwedell.com/phpgooglemapapi/docs/GoogleMapAPI/GoogleMapAPI.html
(Google Maps API Ver.3.0のメソッド、プロパティの説明がある)

Google Static Map API
code.google.com/intl/ja/apis/maps/documentation/staticmaps/

モパイル版Google Mapパラメータ説明
www.offisnail.info/archives/2008/03/17/google_map/

Google Maps簡単作成ツール:GMapCreator
(mappingするだけで、Google Map APIのコードを生成してくれる)
www.geekpage.jp/web/google-maps-api/gmapcreator/

Google Mapsを簡単にホームページで作成する方法
(地図上で場所を指定することにより、緯度、経度を算出してくれる)
www5.keizaireport.com/googlemap/map.php
www.micro-planning.com/tools/gmap_xy/


Google Mapのパラメータについて

Google MapをHP上に表示するには、
Google Maps APIを使用することで表示が可能であるが、
Google Mapのパラメータの受け渡しでも可能である。

以下は、パラメータの説明である。
imakoko.didit.jp/imakoko_html/memo/parameters_google.html

たとえば、以下のような指定の仕方が可能である。
<a href="http://maps.google.co.jp/maps?f=q&hl=ja&geocode=&q=loc:35.29889040105846,139.4748044013977+(集合場所)&ie=UTF8&ll=35.29889040105846,139.4748044013977&z=18" target="_blank">江ノ島(q=loc指定)</a>

loc:パラメータには、マーカーを設定したい場所の経度、緯度を指定する。
llパラメータには、地図の中心としたい場所の経度、緯度を指定する。

この方法のメリットとして、URLの記述だけですみ、
php google Map api Ver3.0を使用するときのように、
データベースの設定も必要がないのて簡単に使用できる。

ただ、複数のマーカーの設定が出来ないので、
ひとつの地図上に複数のマーカーを必要とするときは、
Google Maps APIを使用する必要がある。

2010.09.07補足
APIを使用しないで、複数のマーカーを指定したい時は、
マイマップ機能を使用すると可能である。
ただし、評価やコメントなどがつけられるようになっており、
かつ、問題地図としての報告機能もある。
この機能は、無効にすることが出来ない。


php google Map api Ver3.0について

Google Maps APIをPHPから使用することが出来るライブラリーが存在する。

php google Map api Ver3.0

説明ページは以下の通りである。
code.google.com/p/php-google-map-api/

APIリファレンスは以下の通り
www.phpinsider.com/php/code/GoogleMapAPI/

ただし、上記のリファレンスは、一つ前のバージョン(Ver.2.5)のものであるが
使用することは可能である。ただ、説明ページのサンプルを見ると
存在しないパラメータもある。

Google Maps APIの最新バージョン(Ver.3.0 2010.8.5現在)にも対応している。

本ライブラリーを評価してみた。
以下は、その内容である。

このライブラリーを使用するためには、MySQLとPEARが必要になる。
本説明では省略するが、使用前にそれらの環境を整えておくこと。
そして、上記URLのExternal linksのdownload sourcesから
以下の
ソースをダウンロードする。

 ・COPYING.lib(ライセンス関係)
 ・GoogleMaps.php(/src内)
 ・JSMin.php(/src内)

(1):以下のテーブルをMySQLのデータベース上に定義する。
  今回は、google_apiというデータベースを作成し、その中に作成した。

  CREATE TABLE GEOCODES (
          address varchar(255) NOT NULL default '',
          lon float default NULL,
          lat float default NULL,
          PRIMARY KEY  (address)
        );

  テーブルの定義については、MySQLのコマンドライン、または、phpmyadminからでもよい。

(2):ユーザ名を定義する。
  ユーザ:db_user パスワード:db_user
  grant select,insert,delete,update,create,drop,file,
  alter,index on *.* to dbuser identified by 'dbuser';

(3):ダウンロードしたソースを適当なフォルダに配置する。
  今回はphp_google_mapというフォルダに配置した。

(4):以下のコーディングを行った。
<?php
include_once("./php_google_map/GoogleMap.php");
include_once("./php_google_map/JSMin.php");

$MAP_OBJECT = new GoogleMapAPI();
$MAP_OBJECT->_minify_js = isset($_REQUEST["min"])?FALSE:TRUE;
$MAP_OBJECT->setDSN("mysql://dbuser:dbuser@localhost/google_api");
// 表示する位置を緯度、経度で指定
$MAP_OBJECT->addMarkerByCoords(139.35474067926407,35.317189053924544 ,"撮影会会場", "撮影会会場(湘南海浜公園)");
$MAP_OBJECT->addMarkerByCoords(139.35209333896637,35.32324464606347 ,"ミスコンテスト会場", "ミスコンテスト会場(平塚商工会議所)");

//$MAP_OBJECT->addMarkerByCoords(139.35474067926407,35.317189053924544);
// 地図の表示形式の初期値を指定
$MAP_OBJECT->setMapType('map');
// Street Viewを使用する。
$MAP_OBJECT->enableStreetViewControls();
// 地図大きさ指定(横幅)
$MAP_OBJECT->setWidth('500px');
// 地図大きさ指定(縦幅)
$MAP_OBJECT->setHeight('500px');
// ズームレベルの初期値を指定
$MAP_OBJECT->setZoomLevel(15);

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- JavaScript展開 -->
<?=$MAP_OBJECT->getHeaderJS();?>
<?=$MAP_OBJECT->getMapJS();?>
<title>無題ドキュメント</title>
<link href="../css/common.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="main">
<?=$MAP_OBJECT->printOnLoad();?>
<?=$MAP_OBJECT->printMap();?>
<?=$MAP_OBJECT->printSidebar();?>
</div>
</body>
</html>

(5):上記のソースから、以下の評価を行った。
・表示する大きさを変えられるか?
 setWidth,setHeightで可能。
・印刷が出来るか?
 Googleマークをクリックし、印刷ボタンをクリックすることで可能。
 ただし、マーカーがなくなってしまう。
 プラウザの印刷機能を使用してもらうことでも代用可能。
 マーカーは印刷されるが、この場合、背景の印刷を有効にしてもらう必要がある。

 または、APIを使用せずに、GoogleMAPのURLにパラメータを受け渡すことにより、
 (http://imakoko.didit.jp/imakoko_html/memo/parameters_google.html)
 GoogleMapを表示し、印刷することにより、マーカー入りで印刷することは可能。

・地図表示を初期値と出来るか?
 setMapTypeで"map"を指定することで可能。
・ズームレベルの初期値を指定できるか?
 setZoomLevelで可能。数値は、ズームレベルの目盛りと比例するので、
 任意の値を指定。
・Googleのマークをクリックしたときに、遷移先の地図で
 マーカーを表示できるか?
 受け渡すパラメータがなく、不可能と思われる。
・複数のマーカーを指定可能か?
  addMarkerByAddressまたは、addMarkerByCoordsを複数記述することで可能。
・複数のポイントがあった場合、それごとに色を変えられる?
  デフォルトでは不可能であるが、それぞれのアイコンを用意し、addMarkerByAddressまたは、addMarkerByCoordsのパラメータから指定することで可能。
プロフィール

e.swan

Author:e.swan
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR