人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

google maps APIに関する質問です.

ホームページの閲覧者が,
地図上をクリックして,その地点に印をつけ,コメントをいれ,さらに,それを他の人が見れるというのは可能でしょうか.
もし,可能であれば,具体的なプログラムソースを教えていただけると有難いです.

●質問者: gauchon
●カテゴリ:インターネット ウェブ制作
✍キーワード:Google Maps API クリック コメント ソース プログラム
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tamtam3
●20ポイント

とりあえず、この二つを参照に

http://googlemapsapi.blogspot.com/

http://www.google.com/apis/maps/documentation/reference.html#GPo...



ちゃんと実装例も書いてあります。

(ブログの上 順番に読んでいけばすぐ判る筈)

◎質問者からの返答

ありがとうございます.


2 ● ymlab
●50ポイント ベストアンサー

一応可能です。

ただ、google maps APIのみでは不可能です。

印をつけた場所を格納するデータベースが必要です。

Javascript単体なら、Ajaxなどのテクニックを使って、

HTTP通信させるとよいかも知れません。

私は、PHPで作りました。

参考になるかどうかわかりませんが、

下に紹介します。

(これだけではうごかないと思います。

大体雰囲気だけでもつかんでいただければ・・。)

あと、xmlを制御するxml.phpというものが必要だったりしますが(無料)、

面倒なら、そこはCSVか何かにしてもよいと思います。

menu.phpやcommon.phpや

あたりは他の用途につかっています。

具体的には、

http://gakkouweblog.yh.land.to/admin/googlemap2.php

を参考にしてみてください。

ただ、まだ開発中で、運営しているサーバと漢字コードが

ちがったため、文字化けしてしまいます。

<?php /* vim: set fdm=marker: */
///////////////////////////////////
//いろんな場所をgooglemapで登録する
//////////////////////////////////
include_once("./menu.php");
include("../db/xml.php");
include("common.php");
include("googlemapcommon.php");

html_start();

//iniファイルを読み込む
$inifile = "../setup.ini";
$hash = parse_ini_file( $inifile );
?>

<?php
//編集したデータを更新する.
if ( $_REQUEST['isUpdate'] == "PLOKM" ) {
//print "更新";
$filepath = "../db/googlemapdb/googlemappoints.xml";
$fp = fopen($filepath, "r") or die;
$buffer = "";
while ( !feof($fp) ) {
$buffer .= fgets( $fp, 1024 );
}
fclose( $fp );
$buffer = mb_convert_encoding( $buffer, "UTF-8", "sjis-win" );
$array = XML_unserialize( $buffer );
//print_r($array);
//print "返還前<br>";
$countnum = $_REQUEST['countnum'];
/*print "北緯=".$array[googlemapdata][item][$countnum][lat];
print "東経=".$array[googlemapdata][item][$countnum][lon];
print "表題=".$array[googlemapdata][item][$countnum][title];
print "内容=".$array[googlemapdata][item][$countnum][contents];
print "画像=".$array[googlemapdata][item][$countnum][imageurl];
print "<br >";

print "変換後<br/>";
*/
$lat = $_REQUEST['lat'];
$lat = mb_convert_encoding( $lat, "UTF-8", "sjis-win");
$lon = $_REQUEST['lon'];
$lon = mb_convert_encoding( $lon, "UTF-8", "sjis-win");
$title = $_REQUEST['title'];
$title = mb_convert_encoding( $title, "UTF-8", "sjis-win");
$contents = $_REQUEST['contents'];
$contents = mb_convert_encoding( $contents, "UTF-8", "sjis-win");

$array[googlemapdata][item][$countnum][lat] = $lat;
$array[googlemapdata][item][$countnum][lon] = $lon;
$array[googlemapdata][item][$countnum][title] = tagWrapper($title);
$array[googlemapdata][item][$countnum][contents] = tagWrapper($contents);
/*
print "北緯=".$array[googlemapdata][item][$countnum][lat];
print "東経=".$array[googlemapdata][item][$countnum][lon];
print "表題=".$array[googlemapdata][item][$countnum][title];
print "内容=".$array[googlemapdata][item][$countnum][contents];
*/
//画像削除するか.
if ($_REQUEST['isDelete'] == "on") {
//画像を削除する.
if ( file_exists($array['googlemapdata']['item'][$countnum]['imageurl'])) {
//画像が存在していたら.
$path = $array['googlemapdata']['item'][$countnum]['imageurl'];
unlink($path);
$array['googlemapdata']['item'][$countnum]['imageurl'] = "";
}
}
//画像をアップロードするか.
/**{{{*/
if ( $_FILES['uupload']['name'] != "" ) {
//画像のアップロードは空白ならなにもしない
$extension = strtolower( strrchr( $_FILES['uupload']['name'], "." ) );
if ( $extension == ".jpg" || $extension == ".png" ) {
//指定された拡張子以外はアップロードしない
$ffp = fopen("../db/googlemapdb/counter.dat", "r") or die;
$idnum = trim(fgets($ffp, 1024));
$idnum++;
fclose( $ffp );
if ( is_uploaded_file( $_FILES['uupload']['tmp_name'] ) ) {
//アップロード
$filepath = getcwd();
$filepath .= "/../db/googlemapdb/$idnum$extension";
//画像を圧縮する.
$length = 320;
$size = getImageSize($_FILES['uupload']['tmp_name']);
//縦幅より横幅が大きければ横幅を固定
if ( $size[0] < $length &amp;&amp; $size[1] < $length ) {
$width = $size[0];$high = $size[1];
} else if ( $size[0] >= $size[1] ) {
$width = $length;$high = $size[1] * $length / $size[0];
} else {
$width = $size[0] * $length / $size[1];
$high = $length;
}
if ( $extension == ".jpg" ) {
$img_in = ImageCreateFromJPEG( $_FILES['uupload']['tmp_name']);//元画像を作成
} else if ( $extension == ".png" ) {
$img_in = ImageCreateFromPNG( $_FILES['uupload']['tmp_name']);
}
$img_out = ImageCreateTruecolor( $width, $high );
ImageCopyResampled( $img_out, $img_in, 0, 0, 0, 0, $width, $high, $size[0], $size[1] );
if ( $extension == ".jpg" ) {
ImageJPEG( $img_out, $filepath );
chmod($filepath, 0666);
} else if ( $extension == ".png" ) {
ImagePNG( $img_out, $filepath );
chmod($filepath, 0666);
}
ImageDestroy( $img_in );
ImageDestroy( $img_out );
$array['googlemapdata']['item'][$countnum]['imageurl'] = "../db/googlemapdb/$idnum$extension";
$array['googlemapdata']['item'][$countnum]['id'] = $idnum;
print "\n<br/>画像=".$array[googlemapdata][item][$countnum][imageurl];
//DB更新
$fp = fopen("../db/googlemapdb/counter.dat", "w") or die;
fputs( $fp, $idnum );
fclose( $fp );
}
}
}
/**}}}*/

$data = XML_serialize( $array );
$data = mb_convert_encoding( $data, "sjis-win", "auto");
$fp = fopen( "../db/googlemapdb/googlemappoints.xml", "w") or die;
fputs($fp, $data);
fclose( $fp );
chmod($filepath, 0777);

}



//チェックをつけた項目を削除する.
if ( $_REQUEST['isDelete'] == "ZRNXTM") {
//print "削除するモード";
$filepath = "../db/googlemapdb/googlemappoints.xml";
$fp = fopen( $filepath, "r" ) or die;
$buffer = "";
while ( !feof( $fp ) ) {
$buffer .= fgets( $fp, 1024 );
}
fclose( $fp );
$buffer = mb_convert_encoding( $buffer, "UTF-8", "sjis-win" );
//print $buffer;
$array = XML_unserialize( $buffer );
//print_r($array);
//どのデータを削除するのかをチェックする.
//print "<hr>削除前<br/>";
//print_r($array);
for ( $iCounter = count($array['googlemapdata']['item'])-1; $iCounter >= 2; $iCounter-- ) {
if ( $_REQUEST["del$iCounter"] == "on" ) {
//削除する.
//print "$iCounter 番目を削除する.";
//画像ファイルがある場合は、それも削除する.
$delimage = $array['googlemapdata']['item'][$iCounter]['imageurl'];
if ( $delimage != "" ) {
//画像データがある.
unlink($delimage);
}

unset($array['googlemapdata']['item'][$iCounter]);
}
}
//print "<hr>削除後<hr><br>";
//print_r($array);
$data = XML_serialize( $array );
$data = mb_convert_encoding( $data, "sjis-win", "auto");

$fp = fopen( $filepath, "w") or die;
fputs($fp, $data);
fclose( $fp );
chmod($filepath, 0777);
//print"<br/><br/>$data";
}
?>


<?php
$isUploaded = 0;//画像をアップロードしたか.
if ( $_REQUEST['isfirst'] == "poiuyt" ) {
$lat = $_REQUEST['lat'];
$lon = $_REQUEST['lon'];
$title = $_REQUEST['title'];
$id = $_REQUEST['id'];
$contents = $_REQUEST['contents'];
/*echo "id = $id";
echo "lat = $lat";
echo "lon = $lon";
echo "title = $title";
echo "contents = $contents";
*/
//画像のアップロード
/** {{{*/
if ( $_FILES['upload']['name'] != "" ) {
//画像のアップロードは空白なら何もしない
$extension = strtolower( strrchr( $_FILES['upload']['name'], '.'));
if ( $extension == ".jpg" || $extension == ".png" ) {
//指定された拡張子以外はアップロードしない
if ( is_uploaded_file( $_FILES['upload']['tmp_name'] ) ) {
//アップロード
$filepath = getcwd();
$filepath .= "/../db/googlemapdb/$id$extension";
//画像を圧縮する.
$length = 320;
$size = getImageSize($_FILES['upload']['tmp_name']);
//縦幅より横幅が大きければ横幅を固定
if ( $size[0] < $length &amp;&amp; $size[1] < $length ) {
$width = $size[0];$high = $size[1];
} else if ( $size[0] >= $size[1] ) {
$width = $length;$high = $size[1] * $length / $size[0];
} else {
$width = $size[0] * $length / $size[1];
$high = $length;
}
if ( $extension == ".jpg" ) {
$img_in = ImageCreateFromJPEG( $_FILES['upload']['tmp_name']);//元画像を作成
} else if ( $extension == ".png" ) {
$img_in = ImageCreateFromPNG( $_FILES['upload']['tmp_name']);
}
$img_out = ImageCreateTruecolor( $width, $high );
ImageCopyResampled( $img_out, $img_in, 0, 0, 0, 0, $width, $high, $size[0], $size[1] );
if ( $extension == ".jpg" ) {
ImageJPEG( $img_out, $filepath );
chmod($filepath, 0666);
} else if ( $extension == ".png" ) {
ImagePNG( $img_out, $filepath );
chmod($filepath, 0666);
}
$isUploaded = 1;
ImageDestroy( $img_in );
ImageDestroy( $img_out );
}
}
}
/**}}}*/

/////////////////////
//データベースの更新
////////////////////
$filepath = "../db/googlemapdb/googlemappoints.xml";
if ( !file_exists( $filepath )) {
//存在していないなら
putDummyFile($filepath);
}
$fp = fopen( $filepath, "r" ) or die;
$buffer = "";
while ( !feof( $fp ) ) {
$buffer .= fgets( $fp, 1024 );
}
fclose( $fp );
$buffer = mb_convert_encoding( $buffer, "UTF-8", "sjis-win" );
//print $buffer;
$array = XML_unserialize( $buffer );
//後は新しい配列に、<>を置換してい貼り付けるだけ
$lat= tagWrapper($lat);
$lon= tagWrapper($lon);
$title= tagWrapper($title);
$contents= tagWrapper($contents);
$title = str_replace("\"", "&quot;", $title);
$contents= str_replace("\"", "&quot;", $contents);
//print "現在の配列の数は".count($array[googlemapdata][item]);
$num = count($array[googlemapdata][item]);
$array[googlemapdata][item][$num][id]=$id;
$array[googlemapdata][item][$num][lat]=$lat;
$array[googlemapdata][item][$num][lon]=$lon;
$array[googlemapdata][item][$num][title]=mb_convert_encoding( $title, "UTF-8", "sjis-win");
$array[googlemapdata][item][$num][contents]=mb_convert_encoding($contents, "UTF-8", "sjis-win");

if ( $isUploaded == 1 ) {
$array[googlemapdata][item][$num][imageurl]="../db/googlemapdb/$id$extension";
} else {
//画像をアップロードしていない
$array[googlemapdata][item][$num][imageurl]="";
}
//print_r($array);
$data = XML_serialize( $array );
$data = mb_convert_encoding( $data, "sjis-win", "auto");
$filepath = "../db/googlemapdb/googlemappoints.xml";
$fp = fopen( $filepath, "w") or die;
fputs($fp, $data);
fclose( $fp );
chmod($filepath, 0777);
//ID番号も更新する.
$id++;
$fp = fopen("../db/googlemapdb/counter.dat", "w") or die;
fputs( $fp, $id );
fclose( $fp );
}
?>

<?php
startHead();
headers($hash['diarytitle'],"./", "no-cash");


$filepath = "../db/googlemapdb/googlemappoints.xml";
$fp = fopen( $filepath, "r" ) or die;
$buffer = "";
while ( !feof( $fp ) ) {
$buffer .= fgets( $fp, 1024 );
}
fclose( $fp );
$buffer = mb_convert_encoding( $buffer, "UTF-8", "sjis-win" );
//print $buffer;
$array = XML_unserialize( $buffer );
$googlekey = putGoogleMapAPI($array);
endHead();
?>




<body onload = "load(-1,-1)" onunload="GUnload()">


<script type = "text/javascript">
<!--
function move(lon, lat) {
load(lon, lat);
}
function asubmitChecker() {
var ret;
ret = confirm("本当に削除してもよいですか?");
return ret;
}

/**一旦広げた、編集設定をまた見えなくする*/
function enclose() {
document.getElementById("edittt").style.visibility = "Hidden";
document.getElementById("edittt").style.height = 0+"px";
document.getElementById("upload_nasi").style.visibility = "Hidden";
document.getElementById("upload_nasi").style.height = 0+"px";
document.getElementById("upload_ari").style.visibility = "Hidden";
document.getElementById("upload_ari").style.height = 0+"px";
}

function editter(lon,lat,title,contents,imageurl,iCounter) {
document.getElementById("edittt").style.visibility = "Visible";
document.getElementById("edittt").style.height = 150+ "px";
//一応初期化
document.editer.lat.value = "";
document.editer.lon.value = "";
document.editer.title.value = "";
document.editer.contents.value = "";
document.editer.isDelete.checked = false;
//document.editer.uupload.value = "";
document.editer.countnum.value = "";
//入力
document.editer.countnum.value = iCounter;
document.editer.lat.value = lat;
document.editer.lon.value = lon;
document.editer.title.value = title;
document.editer.contents.value = contents;
if ( imageurl != '' ) {
document.getElementById("upload_nasi").style.visibility = "Hidden";
document.getElementById("upload_nasi").style.height = 0+"px";
document.getElementById("upload_ari").style.visibility = "Visible";
document.getElementById("upload_ari").style.height = 40+"px";
} else {
document.getElementById("upload_nasi").style.visibility = "Visible";
document.getElementById("upload_nasi").style.height = 40+"px";
document.getElementById("upload_ari").style.visibility = "Hidden";
document.getElementById("upload_ari").style.height = 0+"px";
}
}
//-->
</script>


<?php
putMenu("googlemaps");
?>
<?php
setH2Logo(".",2,"いろんな場所をGoogle Mapsで登録しよう",630);
?>
<p class = "elbox">
いろんな場所をGoogle Mapsで登録しましょう
</p>
<?php
//ID番号を取得する.
$fp = fopen("../db/googlemapdb/counter.dat", "r") or die;
$id = trim(fgets( $fp, 1024 ));
fclose( $fp );
?>
<form name = "f1" enctype = "multipart/form-data" method = "post" onSubmit = "return submitChecker('googlemap2')" action = "googlemap2.php">
北緯:<input type = "text" name = "lat" id = "lat" value = "">
東経:<input type = "text" name = "lon"id = "lon" value = ""><br>
表題:<input type = "text" name = "title" id = "title" value = "" size = "40"><br />
内容:<input type = "text" name = "contents" id = "contents" value = "" size = "80"/><br/>
画像:<input type = "file" name = "upload" id = "upload" value = "" size = "80"/><br/>
<input type = "hidden" name = "id" id = "id" value = "<?php print $id;?>"/>
<input type = "hidden" name = "isfirst" id = "isfirst" value = "poiuyt"/>
<input type = "submit" value = "登録">
<input type = "reset" value = "リセット">
</form>
<table>
<tr>
<td>
<div id = "mapr" style = "width:600px;height:800px"></div>
</td>
<td valign = "top">
<form name = "editer" method = "post" action = "googlemap2.php" enctype = "multipart/form-data">
<input type = "hidden" name = "isUpdate" id = "isUpdate" value = "PLOKM" />
<div id = "edittt" style = "position:relative;height:1px;overflow:hidden;">
<input type = "hidden" name = "countnum" id = "countnum" value = ""/>
北緯:<input type = "text" name = "lat" id = "lat" value = "">
東経:<input type = "text" name = "lon"id = "lon" value = ""><a href = "javascript:enclose()">収納する</a><br>
表題:<input type = "text" name = "title" id = "title" value = "" size = "40"><br />
内容:<input type = "text" name = "contents" id = "contents" value = "" size = "80"/><br/>
<div id = "upload_nasi" style="height:1px;overflow:hidden;">画像:<input type = "file" name = "uupload" id = "uupload" value = "" size = "80"/></div>
<div id = "upload_ari" style = "height:1px;overflow:hidden;">画像:<input type = "checkbox" name = "isDelete" id = "isDelete" />削除する<br /></div>
<input name = "ssubmit" id = "_submit" type = "submit" value = "更新">
<input name = "rreset" name = "_reset" type = "reset" value = "リセット">
</div>
</form>
<?php
//ここに既に登録された情報を入れる。
$filepath = "../db/googlemapdb/googlemappoints.xml";
if ( !file_exists( $filepath )) {
//存在していないなら
putDummyFile($filepath);
}
$fp = fopen( $filepath, "r" ) or die;
$buffer = "";
while ( !feof( $fp ) ) {
$buffer .= fgets( $fp, 1024 );
}
fclose( $fp );
$buffer = mb_convert_encoding( $buffer, "UTF-8", "sjis-win" );
$array = XML_unserialize( $buffer );
//print_r($array);
$iNum = count($array[googlemapdata][item]);
//print $iNum;
print "<form method = \"post\" action = \"./googlemap2.php\" onSubmit=\"return asubmitChecker()\">\n";
print "\t\t\t<table summary = \"google maps points\" class = \"nobordersize\">\n";
print "\t\t\t<tr bgcolor = \"#8d9eb5\">\n\t\t\t\t\t<td>登録された地図情報</td><td>編集<td>削除</td>\n\t\t\t\t</tr>\n";

for ( $iCounter = 2; $iCounter < $iNum; $iCounter++ ) {
$pointsTitle= mb_convert_encoding($array[googlemapdata][item][$iCounter][title], "sjis-win", "UTF-8");
$contents= mb_convert_encoding($array[googlemapdata][item][$iCounter][contents], "sjis-win", "UTF-8");
$imageurl= mb_convert_encoding($array[googlemapdata][item][$iCounter][imageurl], "sjis-win", "UTF-8");
// " はご法度なので、置換する.
$pointsTitle= str_replace("\"", "&quot;", $pointsTitle);
$contents= str_replace("\"", "&quot;", $contents);
$lon= $array[googlemapdata][item][$iCounter][lon];
$lat= $array[googlemapdata][item][$iCounter][lat];
if ( $iCounter % 2 == 0 ) {
//print "\t\t\t\t<tr bgcolor = \"#ffffff\">\n";
print "\t\t\t\t<tr bgcolor = \"#f1f5fa\">\n";
}
print "\t\t\t\t\t<td>\n";
print "<a href = \"javascript:move($lon,$lat)\">$pointsTitle</a>";
print "\t\t\t\t\t</td>\n";
print "\t\t\t\t\t<td>\n";
print "\t\t\t\t\t<a href = \"javascript:editter($lon,$lat,'$pointsTitle','$contents','$imageurl','$iCounter')\">編集</a>";
print "\t\t\t\t\t</td>\n";
print "\t\t\t\t\t<td><input type = \"checkbox\" name = \"del$iCounter\" id = \"del$iCounter\"/></td>\n";

print "\t\t\t\t</tr>\n";
}
print "\t\t\t</table>";
print "<input type = \"hidden\" name = \"isDelete\" id = \"isDelete\" value = \"ZRNXTM\" />";
print "<input type = \"submit\" value = \"チェックをつけた項目を削除する\">\n";
print "<input type = \"reset\" value = \"リセットする\">\n";
print "</form>";
?>
</td>
</tr>
</table>
</form>
<?php
htmlcheck("../img/");
endBody();
endHtml();
?>

<?php
/** Google map の場所データ保存のためのダミー
* ファイルを用意する
* @param $filepath ダミーファイルの名前と場所
*/
function putDummyFile($filepath) {
/** {{{*/
$data = "";
$data .= "<?xml version=\"1.0\"?>\n";
$data .= "<googlemapdata>\n";
$data .= "\t<item>\n";
$data .= "\t\t<id>id1</id>\n";
$data .= "\t\t<lat>latitude1</lat>\n";
$data .= "\t\t<lon>longitude1</lon>\n";
$data .= "\t\t<title>title1</title>\n";
$data .= "\t\t<contents>contents1</contents>\n";
$data .= "\t\t<imageurl>imageurl1</imageurl>\n";
$data .= "\t</item>\n";
$data .= "\t<item>\n";
$data .= "\t\t<id>id2</id>\n";
$data .= "\t\t<lat>latitude2</lat>\n";
$data .= "\t\t<lon>longitude2</lon>\n";
$data .= "\t\t<title>title2</title>\n";
$data .= "\t\t<contents>contents2</contents>\n";
$data .= "\t\t<imageurl>imageurl2</imageurl>\n";
$data .= "\t</item>\n";
$data .= "</googlemapdata>";
$fp = fopen($filepath, "w") or die;
fputs( $fp, $data );
fclose( $fp );
chmod( $filepath, 0777 );
}
/**}}}*/
?>

Googlemapcommon.php

<?php

/** Google map を表示する*/
function putGoogleMapAPI($array){
print "\t\t<script src=\"http://maps.google.com/maps?file=api&amp;v=2.x&amp;key=";
$fpin = fopen("../db/googlemapkey.dat", "r") or die;
$k = trim(fgets( $fpin, 510 ));
fclose( $fpin );
print $k."\"";
 print " type=\"text/javascript\" charset = 'UTF-8'></script>\n";
print "\t\t<script src = \"./googlemap.js\"></script>\n";


/** マーカの部分できるかなぁ。*/
print "\t\t<script type = \"text/javascript\">\n";
//print "\t\t<![CDATA[\n";
//現在位置情報を取得する
$fp = fopen("../db/googlemaplocation.dat", "r") or die;
$x = trim(fgets($fp, 200));
$y = trim(fgets($fp, 200));
fclose($fp);
//登録したばかりならそこを中心にすべき.
if ($_REQUEST['lon'] != "" &amp;&amp; $_REQUEST['lat'] != "") {
$x = trim($_REQUEST['lon']);
$y = trim($_REQUEST['lat']);
} else {
$x = 135.77286511659622;
$y = 34.949485388090274;
}
print<<<EM
function load(lon,lat) {
//編集の時に必要な情報を表示しない
document.getElementById("edittt").style.pixelHeight = 0;
document.getElementById("edittt").style.Height = 0;
document.getElementById("edittt").style.visibility = "hidden";


//十字マップ作成
var icon = new GIcon();
icon.image = "./cross2.png";
icon.iconSize = new GSize(100, 100);
icon.iconAnchor = new GPoint(50, 50);

var map = new GMap(document.getElementById("mapr"));
if (lon<= 0 || lat <= 0) {
//map.setCenter( new GLatLng(34.772437033477544, 135.6432580947876), 17);//中心地点を設定する.
map.setCenter( new GLatLng($y, $x), 17);//中心地点を設定する.
} else {
map.setCenter( new GLatLng(lat, lon), 17);
}
//map.setMapType( G_SATELLITE_TYPE );//衛星写真のタイプを指定
map.setMapType( G_HYBRID_TYPE );//衛星写真のタイプを指定
map.addControl(new GLargeMapControl());//+-で拡大とかするコントロールの表示
 //map.addControl(new GOverviewMapControl(new GSize(200,150)));//右下にガイドの地図を表示.
map.addControl(new GMapTypeControl());
var marker = new GMarker(map.getCenter(), icon);//十字アイコンを表示
map.addOverlay(marker);//十字アイコンを表示


GEvent.addListener(map, 'move', function() {//地図が移動したとき
var point = map.getCenter();
document.f1.lat.value = point.y;//緯度表示
document.f1.lon.value = point.x;//東経表示
marker.setPoint(map.getCenter());//十字も移動する
});
 
GEvent.addListener(map, 'click', function(){//クリックされたとき
 ;
});

EM;
//画面に登録された情報を表示させる
//print "document.getElementById(\"edittt\").style.fontSize = 0+ \"px\";\n";
print "\t\tdocument.getElementById(\"edittt\").style.height = 0+ \"px\";\n";//最初は表示しない
print "document.getElementById(\"edittt\").style.overFlow = \"hidden\";\n";

print "\t\tvar aryData = new Array(".count($array[googlemapdata][item]).");\n";
print "\t\tvar Title = new Array(".count($array[googlemapdata][item]).");\n";
print "\t\tvar Contents = new Array(".count($array[googlemapdata][item]).");\n";
for ( $iCounter = 2; $iCounter < count($array[googlemapdata][item]); $iCounter++ ) {
$Title = mb_convert_encoding( $array[googlemapdata][item][$iCounter][title], "sjis-win", "UTF-8" );
$Contents = mb_convert_encoding( $array[googlemapdata][item][$iCounter][contents],"sjis-win", "UTF-8");
$ImageUrl = $array[googlemapdata][item][$iCounter][imageurl];

//すでに、ksesで、タグをWrapsしているので、ここで表示する<>は、安全なものしかのこってない
$Title= str_replace("&lt;", "<", $Title );
$Title= str_replace("&gt;", ">", $Title );
$Contents= str_replace("&lt;", "<", $Contents );
$Contents= str_replace("&gt;", ">", $Contents );

print "\t\tTitle[$iCounter] = \"$Title\";\n";
print "\t\tContents[$iCounter] = \"$Contents\";\n";
print "\t\taryData[$iCounter] = \"<span class = \\\"big\\\">".$Title."</span><br/>".$Contents."<br/>";
if ( $ImageUrl != "" ) {
print "<a href = \\\"".$ImageUrl."\\\"><img src = \\\"$ImageUrl\\\" width = 100/></a>";
}

print "\";\n";
$lon = $array[googlemapdata][item][$iCounter][lon];
$lat = $array[googlemapdata][item][$iCounter][lat];

print "\t\taddMarker(map, $lon,$lat, aryData[$iCounter]);\n";
}
//aryData[0] = "aaa";
//addMarker(map, 135.6421,34.7744, aryData[0]);

print "}\n";




//print "\t\t//]]>\n";
print "\t\t</script>\n";
return $k;
}

?>

◎質問者からの返答

ありがとうございます.

実例もあって,参考になります.

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ