Google Maps API 質問箱at PHP
Google Maps API 質問箱 - 暇つぶし2ch650:nobodyさん
07/09/24 21:58:41 /mCeeGOa
google map apiの質問です。

データベースからデータを抽出し、マーカーをプロットしてクリックしたら
情報ウィンドウを表示させたいと思っています。

mapの中心から距離の近い順に20個のマーカーを表示
させるまではできました。
マーカーがmapの端のほうにあるとクリックした時に情報
ウィンドウを表示させるために、地図が移動して(ドラッ
グした時と同じ動き)、mapmoveendイベントが発動されて
中心が変わってしまい、新たな中心から20個を選んできて
マーカーをプロットしなおしてしまいますので、情報ウィ
ンドウはすぐ閉じられてしまいます。

何かいい対策はないでしょうか?



651:nobodyさん
07/09/24 22:05:38 /mCeeGOa
ソースはこんな感じです。

window.onload=function(){
map=new GMap2(document.getElementById("gmap"));
map.setCenter(new GLatLng(35.65848180227598,139.70150470733642),16);
map.addControl(new GLargeMapControl());
gGeo=new GClientGeocoder();

httpobj=GXmlHttp.create();
httpobj.open("get","test11.php?x=139.7015&y=35.6584");
httpobj.onreadystatechange=function(){
if((httpobj.readyState==4)&&(httpobj.status==200)){
addmarker();
}
httpobj.send(null);

GEvent.addListener(map,"moveend",function(){
var x1=(map.getCenter()).lng();
var y1=(map.getCenter()).lat();
httpobj=GXmlHttp.create();
httpobj.open("get","test11.php?x="+x1+"&y="+y1);
httpobj.onreadystatechange=function(){
if((httpobj.readyState==4)&&(httpobj.status==200)){
addmarker();
}
}
httpobj.send(null);
});
}


652:nobodyさん
07/09/24 22:06:19 /mCeeGOa
つづき

//中心の緯度経度をtest11.phpに渡し、中心と各データ(緯度、経度がある)
//との距離を計算し、近い順に20個をxml形式ではき出す
//渡されたXMLデータをもとに20個プロット
function addmarker(){
map.clearOverlays();
var xmldata=httpobj.responseXML;
var pointdata=xmldata.getElementsByTagName("point");
for(var i=0;i<pointdata.length;i++){
var mx=pointdata[i].getElementsByTagName("x")[0].firstChild.nodeValue;
var my=pointdata[i].getElementsByTagName("y")[0].firstChild.nodeValue;
var marker=new GMarker(new GLatLng(my,mx));
map.addOverlay(marker);
// GEvent.addListener(map,'click',function(marker){
// marker.openInfoWindow("abcde");
// });
GEvent.addListener(map,"click",function(marker,point){
if(marker){
marker.openInfoWindowHtml("abcde");
}
});
}
}


653:nobodyさん
07/10/11 08:05:38 znYl17vN
モバイル版のAPI公開はまだかね?

654:nobodyさん
07/10/12 15:08:55 JDHSb9UC
GoogleMapとそのほかの地図で位置座標がズレてることってあるんだな・・・。
GoogleMapでは正しい位置なのにDMSに座標を変換して他の地図で見たら位置が左上にズレる

655:nobodyさん
07/10/12 15:37:39 JDHSb9UC
・・・と思ったら測地系の違いかもしれん、調べてくるわwww

656:nobodyさん
07/10/13 18:30:36 IpWOazu3
Maplibやどこでも地図βのようなことを自分のサーバーでも動かしてみたいのですが、
そういったことを実装しているPerlやPHPプログラムって知りませんか。やっぱし自前で実装…?

657:nobodyさん
07/10/14 03:34:08 Ub5LFMql
>>655
旧測地系の緯度経度を新測地系の地図にマップしたら南東にずれます。
ずれは、500mぐらいだったか、記憶が定かではないです。
その逆に新測地系の緯度経度を旧測地系の地図にマップしたら北西にずれます。
Google Mapsは、新測地系です。初期のころは旧測地系だったのですが。
ずれた距離がおおむね500mだったら、多分測地系のずれです。

>>656
UMN MapServer というフリーのソフトがあるけど、自前でコンパイルできる環境が必要です。
MapServerは、そのまま使うと一般的なウェブベースのアプリケーションとして、
HTMLファイルと画像ファイルを作ってくれるのですが、
画像だけを返させるパラメタがあります。
GTileLayer で、必要な範囲を切り出した画像を返すようなURLを返すようにすれば、
所望されている機能は実現可能だろうと思います。

658:nobodyさん
07/10/14 10:05:47 xqvgUBSP
>>657
656です。回答ありがとうございます。持っている鯖はさくらインターネットのレンタルサーバーなので、
MapServerは難しそうな感じです。PHPやPerlだけで実現するのは難しいのかな…。
Google MAPS APIはちょっとしか使ってないので勉強します。



659:nobodyさん
07/10/15 02:09:33 MAIMiHUF
>>658

>>657書きました。
UMN MapServerは、てっとりばやくておすすめなのですが、ここでは実は必須ではないです。

GTileLayerの使い方ですが、次の通りです。
・ズーム値ごとのタイル画像を用意する。
 ・タイル画像は正方形(デフォルトでは256ピクセル)で、
 ・php+gdなどで動的に生成しても、静的なものでも、どちらも可。
 ・デフォルトでは投影はメルカトル(URLリンク(d.hatena.ne.jp) が参考になるかも知れません)
・次のようなスクリプトを配布する。
 ・GTileLayerオブジェクトを生成する。
 ・getTileUrl()を上書きして、画像を指定するURLを返すようにする。
  渡される引数は次の通り
  ・ズーム値
  ・タイル画像の番号(xが西→東、yが北→南で、東経0度でx=0, 北端でy=0)
 ・GTileLayerからGTileLayerOverlayオブジェクトを生成する。
 ・GMap2オブジェクトのレイヤにGTileLayerOverlayオブジェクトを追加する。

サーバサイドでは、画像が提供できるかどうかが全てであって、
あとはクライアントサイド(Google Mapsスクリプト)の仕事です。

ただし、その画像が正しく投影されているか等は、Google Mapsのスクリプトでは全く感知しませんし、
それどころか、getTileUrl()の返り値が正しいかどうかも感知しません。


660:nobodyさん
07/10/17 00:20:35 2QnXbCpO
Google Mapwをページ全体に表示させる方法はないでしょうか。
URLリンク(72.14.235.104)

ここのサイトの方法でやるとFireFoxでは問題はないんですけど、
IE7では吹き出しを表示させるようにするとGoogleMapが消えてしまうのです。

661:nobodyさん
07/10/17 10:30:31
>>660
こういう感じ?
URLリンク(japonyol.net)
ソース見てくれ

662:660
07/10/17 21:07:52 +OHtq6+g
ここを参考にしたらできました
URLリンク(www.openspc2.org)

663:nobodyさん
07/10/29 11:38:54 0lWMfZR1
教えてください。

マイマップで入力したマーカーの座標を得るAPIってあるのでしょうか。
可能であれば、表示しているすべてのマーカーの座標を知りたいです。

664:nobodyさん
07/10/29 13:32:14 /8Ez3TkO
これって商用可?

665:nobodyさん
07/10/30 13:37:13 hAyzetUF BE:253038-2BP(2004)
Bloggerに表示できん…

666:nobodyさん
07/10/30 23:10:25 z1WX2k2B
GWTでGoogleMapにアクセスしてるひといる?

667:nobodyさん
07/11/08 19:35:50 47w7phT/
URLリンク(japonyol.net)
をベースに、カスタムタイルを使用したマップ上にマーカーを設置としていますが、
地図上に上で指定したマーカーを呼び出すと、どういうわけか全然違う位置に出現してしまいます。

カスタムマップ上では、どのようにマーカーの位置を求めればいいでしょうか?
それとも、GMercatorProjectionの部分でミスがあるのでしょうか?

668:nobodyさん
07/11/16 10:58:12 NHhr3bC0
GoogleMap上に情報ウィンドウを2つ以上表示させる事は出来ないのでしょうか?
一つ表示させると、その前に表示されていたものが消えてしまって不便なのですが・・・

669:nobodyさん
07/11/16 13:04:45 TQ8AZZbN
>>668 勉強しなおしてからこい

670:nobodyさん
07/11/16 17:17:58 GRjL7DtV
Google Mapsへアクセスすると209.85.171.91へアウトバンドするので
ルータのファイアウォールにブロックされフリーズしてしまいます。
レベルを下げるしかないのでしょうか?

671:nobodyさん
07/11/16 17:19:49 TQ8AZZbN
apiつかわないで直でつなげてるの?


672:nobodyさん
07/11/16 17:39:30
>>670
うん

673:nobodyさん
07/11/16 18:47:15 NHhr3bC0
>>669
独学に限界があるからここに来てるんです。
でもどうやらググってみてもそういう情報はないので、無理くさいですね。
仕様なのか。。。

674:nobodyさん
07/11/16 22:44:40 busfvoWj
よっしゃ

675:nobodyさん
07/11/17 12:07:34 GkYZi95e
グーグルマップは情報収集するんだね。
URLリンク(d-p.2-d.jp)

676:nobodyさん
07/11/17 12:10:21
>>>668
URLリンク(www.jtjt.org)

677:nobodyさん
07/11/17 16:37:38 hSLKcqwl
>>676
???

678:nobodyさん
07/11/17 20:14:46
>>668
そのままじゃ無理
重ねて出せばOK


679:nobodyさん
07/11/18 08:40:02
GMapCreator、GMM2、GoogleMapsEditorのように地図情報を編集・出力してそれをhtmlでアップロードするのはなく
web上で、はてなブックマークのように吹き出しを設置したり書き込んだりできるようにはどういった方法があるでしょうか?
URLリンク(mapcomi.jp)
のような感じで。
ただ、はてなのように大人数ではなく少人数のコミュニティで使用するために設置したいです。


680:nobodyさん
07/11/19 10:02:32 HjMorwIr
無理かと思ったらレスついてる・・・。

>>678
重ねて出すってどういうことですか?

681:nobodyさん
07/11/20 14:29:41 fnUr7y8n
ストリートビューが無い

682:nobodyさん
07/11/23 09:35:27 0IF488qD
経緯度の1度毎にグリッドを表示させるにはどうすればいいでしょうか?

683:nobodyさん
07/11/24 15:28:34 wV1iImX6
質問です。GIconで作成したカスタムマーカーをドラッグ可能にする方法ってありますか?
プロパティを見る限り、そういうものが見つからないのですが・・・。

684:nobodyさん
07/11/24 16:51:10
>>683
ドラッグブルできるっぺよ~

685:nobodyさん
07/11/24 18:16:40
>>684
draggableで設定できました。ありがとうございます。
というかどうやら勘違いしていたらしく、
markerObj.icon = new GIcon();
markerObj.icon.draggable = true;
としてました。調べてもGIconのプロパティにdraggableないしなぁ・・・と思ってたら、
markerObj.draggableなんですね。。。

686:nobodyさん
07/11/24 18:39:21
すみません、もうひとつお願いします。
同じくカスタムマーカーなのですが、影が表示されません。
設定は以下の通りなのですが、何か間違いがありますでしょうか?

var customMarkerObj = new Object();
customMarkerObj.icon = new GIcon();
customMarkerObj.icon.image = "img/myMarker.png";
customMarkerObj.icon.shadow = "img/myMarkerShadow.png";
customMarkerObj.icon.iconSize = new GSize(43, 38);
customMarkerObj.icon.shadowSize = new GSize(37, 23);
customMarkerObj.icon.iconAnchor = new GPoint(16, 37);
customMarkerObj.icon.infoWindowAnchor = new GPoint(16, 5);
customMarkerObj.draggable = true;

687:nobodyさん
07/11/24 19:16:15
まず、YOUがCREATEしたGOOGLEMAPをPUBLICにしてからジャマイカ?

688:nobodyさん
07/11/24 19:37:47
>>687 関係ありそうなところを抜き出すとこんな感じです
<body>
<div id="map"></div>
<script type="text/javascript">
function foo(){
 //カスタムマーカーの設定
 var customMarkerObj = new Object();
 customMarkerObj.icon = new GIcon();
 customMarkerObj.icon.image = "img/myMarker.png";
 customMarkerObj.icon.shadow = "img/myMarkerShadow.png";
 customMarkerObj.icon.iconSize = new GSize(43, 38);
 customMarkerObj.icon.shadowSize = new GSize(37, 23);
 customMarkerObj.icon.iconAnchor = new GPoint(16, 37);
 customMarkerObj.icon.infoWindowAnchor = new GPoint(16, 5);
 customMarkerObj.draggable = true;

 // マーカーの設置
 var myMarker = new GMarker(map.getCenter(), customMarkerObj);
 map.addOverlay(myMarker);
}
</script>

<script type="text/javascript">
//<![CDATA[
if(GBrowserIsCompatible()){
 var zoom = 15;
 var map = new GMap2(document.getElementById("map"));
 map.setCenter(new GLatLng(35, 139), zoom);
}
</script>
<input type="button" value="foo()" onclick="foo()">
</body>

689:nobodyさん
07/11/24 21:35:40
ご丁寧にどうも。
サイトを晒して欲しかっただけなんだよw

ってか、Google Maps APIを利用したサイト集みたいなのないかな~?
参考になりそうなの

690:nobodyさん
07/11/24 21:39:45
ってか、body内にJavascript記述してるんだ。
しかも、二つに分ける意味ある?

691:nobodyさん
07/11/24 21:42:40
>>690
意味はないです、すみません。

692:nobodyさん
07/11/24 22:04:13
いや、べつに誤らなくても

693:nobodyさん
07/11/25 06:07:52 067vq/7o
字を誤らなくても

694:nobodyさん
07/11/25 08:24:00 GkPF2+Rp
自サイトで使ってるグーグルマップで任意の場所を表示して、
ピンポイントでその地図をまた表示したいんですがどうしたらいいんですか?
URLからたどることは出来ないんで、パラメータを取得するするしか
ないと思うんですが、、

695:nobodyさん
07/11/25 12:59:28
>>694
見た場所をセーブしておいて、次回そこから見たいってことか?

696:nobodyさん
07/11/25 14:02:40
body {
  B: 78cm;
  W: 57cm;
  H: 80cm;
}

697:nobodyさん
07/11/25 15:48:08
カスタムタイル、カスタムマーカーを使っている地図に
polylineで線を引こうとするとd has no properties(line 429)というエラーが出て
線が全く表示されない。(polylineのスクリプトはごく簡単なもの)
このエラーが出ている時に地図をスクロールすると、挙動がおかしくなります。

d has no propertiesってどういう意味?

698:nobodyさん
07/11/25 17:06:35
一日経ちましたが、>>688は謎ですかね・・・。
もう少し違うところに原因があるのかもしれませんね。
もう一度全部見直してみます。というかもう穴があくほどソースを見直したのですが。

699:nobodyさん
07/11/29 00:07:37
だめだ・・・draggableを可能にすると影が表示されなくて、
影を表示させるとdraggableが不可能になるよ;;
なんで;;

だれかカスタムマーカーで自分のアイコン+影+ドラッグ可能のサンプル作って下しあ><

700:nobodyさん
07/11/29 17:22:32 MbMzN7BN
>>468
と同じ質問なんですが、>>469は本当にあるの??ググっても出てこない。

マーカーの重なり順変更できてる人いますか??

701:nobodyさん
07/11/29 22:37:53 wGUVFkHQ
1日に1分しか現れないGoogleの隠し画像が話題
URLリンク(news.ameba.jp)

702:nobodyさん
07/12/03 11:41:08
カスタムタイル同士を、同一レイヤー上に重ね合わせるって事できませんか?
衛星写真に上から地名などの書かれた画像を重ねるような要領で。

703:nobodyさん
07/12/03 22:55:11 IDet8uzL
>>702
同一レイヤーである必要なくね?
もう一枚レイヤー作ってデフォのレイヤーに重ねればおk
それよりもポイントが少ないなら、適当にスパン要素作ってポイントに張り付くようにしたほうが良いかもな。

704:nobodyさん
07/12/08 11:39:06 K+x4Dm8M
ホシュ

705:nobodyさん
07/12/08 18:24:41
すげえわシビれた。
上から3つめ以内に>>1が2年も3年も前のスレが普通にある
過疎っぷり。製作板と合わせて統一した方がええんちゃう?

706:nobodyさん
07/12/09 15:00:14
上げじゃなくてエイジなんだからね勘違いしないでよね!

707:nobodyさん
07/12/14 17:58:24
HPに貼り付けてるgooglemapが、何故か今日は妙にIE6でエラーが出てIE6自体を
閉じなくてはならない現象がちょくちょく出るのだが、誰か同じ様な人は居ます
か?

環境的には今月のWindowsUpdateを行ったくらいしか、変化は無い筈だが。

地図が見れなくなる程度ならともかく、IE6がクラッシュしてしまうのは困る。

708:nobodyさん
07/12/15 11:12:42 7hqefWpJ
>>707
何かMSNのtop頁でも同じ様にIE6がエラーで閉じてしまいます。

しかしFireFox2では、MSNのtop頁もgooglemap貼り付け頁も問題無く表示出来ます。
だからネットワーク関連での問題ではなくて、当方のPCorIE6の状況に問題があり
そうです。

709:nobodyさん
07/12/15 17:51:57 mX2f/6ab
geocodingについてお伺いしたいのですが、下記の関数で座標を表示させる事はできるのですが、
この座標pointを他の関数に使いたいのですが、いざ使おうとすると定義されていませんとエラーになります。
javascriptは初心者なのですが、これはどういう理由でしょうか?


  var geocoder = null;
  geocoder = new GClientGeocoder();

  function showAddress(address) {
    if (geocoder) {
      geocoder.getLatLng(address,function(point) {
        if (!point) {
          alert(address+"見当たりませんでした");
        } else {
          document.getElementById("latlng").innerHTML="座標:"+point;
        }
      });
    }
  }




710:709
07/12/15 18:55:39 mX2f/6ab
自己解決しました。
非同期なのでundefinedになっちゃってたのですね・・・。

711:nobodyさん
07/12/20 10:48:41 lBY1TPUc
たまにアクセスログに「/maps/gen_204?ev= ~ 」というログが残ってるのですが
これは何なのでしょう?
うちのサイトにこういうディレクトリは無いのでエラーになってるんですが

712:Socket774
07/12/20 16:57:38
>>707-708
パッチ適用でIEがクラッシュ MSが回避策を公開
URLリンク(www.itmedia.co.jp)

713:nobodyさん
07/12/21 03:39:10 bUxsI4En
1)グーグルマップを表示する
2)グリグリ動かして任意の場所でストップ
3)サブミットボタン押す
4)その座標をデフォルト表示するタグが<textarea>に表示される

みたいなwebアプリほしいんですが、どうやったらできますか?
もしくはフリーのソースないでしょうか?

714:nobodyさん
07/12/21 09:41:57
>>713
勉強すりゃできる。フリーのソフトはgooglemapsAPI。としか言いようが無いな。

または3万円で俺に発注。

715:nobodyさん
07/12/21 10:25:25
どうやったら出来ますかって・・・アホか。
少しは勉強してから質問したらどうだ?

716:nobodyさん
07/12/21 19:12:53
>>712
確かにレジストリ対策で、GoogleMap を貼った頁でクラッシュしなくなった。

でもHP側で対策出来ないし、MSが対策用regファイルを出してくれてない
(有志のサイトには有ったが)から、利用者側で手動でエディットするのは
面倒だし、厄介です。

717:nobodyさん
07/12/21 21:27:05
>>716
と思ったら、何かダウンロード可能なパッチが出てました。

Windows XP Service Pack 2 を実行しているコンピュータにセキュリティ更新プログラム
942615 をインストールした後に、Internet Explorer 6 がクラッシュします。
URLリンク(support.microsoft.com)

但し、今現在ではWindowsUpdateでは、上記パッチは検出されませんでしたが。

718:nobodyさん
07/12/22 10:27:16
>>717
MS、IEクラッシュ問題の修正パッチを公開
URLリンク(www.itmedia.co.jp)

こちらの記事によれば、WindowsUpdateでパッチ投入出来る様です。

昨日時点では未だだったのかも知れません。ただ、当方は既にパッチ適用
してしまったので、もうWindowsUpdateで入るかどうか試せませんが。

719:nobodyさん
07/12/22 11:46:41
>>711
うちも先月ぐらいから出るようになった
Google側に原因があるっぽいし、ちゃんと動いてるっぽいので、放置してるっぽい

720:nobodyさん
07/12/22 12:19:03
firefix webdeveloperアドオンで、警告検知されるのも同じ原因なのかな?

721:nobodyさん
07/12/28 14:28:51
マーカーのドラッグ中に、何か他のイベントが起こったら変な挙動をし始めます。
具体的にはマーカーのドラッグ中に、他のマーカーを移動させる(関数により自動に移動)と、
ドラッグ中のマーカーが制御できなくなります。マウスを近づけると逃げるような挙動をし始めます。
これを防ぐにはどうすればいいのでしょうか?

722:nobodyさん
08/01/04 12:36:44 BjbDv38C
ネット公開されていない、社内のシステムで使うには Google Maps for Enterprise じゃないとライセンス違反なんでしょうか?
Enterpriseは年間 $10,000 以上だから、小さく使うのには向かないしなぁ。

URLリンク(www.google.com)
Q: What is the cost of Google Maps for Enterprise?
A: Pricing for Google Maps for Enterprise is based on the number of page views and geocode requests handled by
the Google Maps for Enterprise API and starts at $10,000 per year. Please contact us for more information. 

723:nobodyさん
08/01/05 11:35:23
>>722
そのとおり

724:nobodyさん
08/01/05 11:40:19
やっぱりそうだねよね。(´・ω・`)
APIは諦めて、google mapsへのリンクだけにしておく。

725:nobodyさん
08/01/05 19:29:14
はじめまして、肉棒です^^

アナル出せやコラ^^
あーなるほど^^
お尻を掘った子一等賞♪^^
いいから力抜けよ^^
もう開通肛事は済んだのか?^^
便秘か?だったら俺が直してやる^^
ちょっとキリンが水飲むポーズしてみろ^^

726:nobodyさん
08/01/09 12:02:09 Oi1/yt6g
すいません。質問です。
GMakerのイベントでopenExtInfoWindowメソッドを使って吹き出しを表示してたんですが
何もしていないのに吹き出しが表示されなくなっています。
先週まではできていたようなきがするんですが・・・
また、FireFoxは正常に動作し、この問題はIEで起こります。
どなたかこの問題についてご存じないですか?


727:nobodyさん
08/01/09 12:27:05
いつからか分からないんだけど、
以下のコードで、IE6を使用した時、マーカーのドラッグができなくなってしまいました。
WinXP IE7 Firefox2, Win2K Firefox2 問題なし
Win2K IE6 マーカーは配置されるものの、マーカーはドラッグできず地図が動いてしまう。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "URLリンク(www.w3.org)">
<html xmlns="URLリンク(www.w3.org)">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps API2 Sample</title>
<script src="URLリンク(maps.google.com)" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
window.onload = function() {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37,136), 5,G_NORMAL_MAP);
map.addControl(new GLargeMapControl());
map.addControl(new GScaleControl());
var gpObj = new GPoint(138, 36);
var marker = new GMarker(gpObj,{draggable:true});
map.addOverlay(marker);
}
//]]>
</script>
</head>
<body>
<div id="map" style="width: 500px; height: 400px"></div>
</body>
</html>
#コードは、Google Maps API リファレンス URLリンク(www.openspc2.org) に {draggable:true} を追記したものです。


728:727
08/01/09 12:28:58
追記:念のため、Windows Updateしてみたが効果なし

729:727
08/01/09 12:36:16
>>726 を今読んだ。何かIE6でclickイベントが発生していない模様。
WinXP IE7 Firefox2, Win2K Firefox2 問題なし
Win2K IE6 マーカーは配置されるものの、アラート表示されず

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "URLリンク(www.w3.org)">
<html xmlns="URLリンク(www.w3.org)">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps API2 Sample</title>
<script src="URLリンク(maps.google.com)" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
window.onload = function() {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37,136), 5,G_NORMAL_MAP);
map.addControl(new GLargeMapControl());
map.addControl(new GScaleControl());
var gpObj = new GPoint(138, 36);
var marker = new GMarker(gpObj);
map.addOverlay(marker);
GEvent.addListener(marker, "click", function(){
alert("Marker Click!!");
} );
}
//]]>
</script>
</head>
<body>
<div id="map" style="width: 500px; height: 400px"></div>
</body>
</html>
#コードの参考:Google Maps API リファレンス URLリンク(www.openspc2.org)

730:726
08/01/09 14:14:47
>>727さんレスどうも。
自分のIEのバージョンも6です。

あと、下のブログに同現象の報告がされていました。
URLリンク(ameblo.jp)

GMakerクラスになにか変更があったみたいですね。
残念ながら、完全な解決方法までは書いてなかったですが
GMakerの代わりに自分で画像を用意してそれにイベントを加えるか
また、この人によると昨日からの問題らしいので
もうちょっと様子をみるのもいいのかもしれません。


731:nobodyさん
08/01/09 14:26:56
>>726
ウチんとこ症状確認できないけどどういうこと?XP/IE6

まずopenExtInfoWindowって何?openInfoWindowじゃなくて?

732:nobodyさん
08/01/09 14:41:20
>>731
XP/IE6でも現象が発生するPC、しないPCがあります。
なんででしょうね・・・

733:nobodyさん
08/01/09 14:48:34
せっかくAPIのバージョンを指定できる仕様になってるんだから、改変は別バージョンのものに対してやって欲しいね。


734:726
08/01/09 14:51:30
>>731
openExtInfoWindowとopenInfoWindowは同じようなメソッドです。
ただ、ちょっとopenExtInfoWindowの方が自由度が高いだけです。
URLリンク(googlemapsapi.blogspot.com)
でも、自分のPCだとどちらのメソッドでもこの問題は起こってます。

でも、XP/IE6でも起こらない場合もあると聞いて少し安心しました。
IE6のユーザ全員に影響あるとしたら結構大変な事になるんで。
う~ん、グーグル勝手に何やってんだよ・・・

735:727
08/01/09 15:20:36
参考の追加
Documentation for GMap2 "click" event is incomplete:
URLリンク(code.google.com)
Markers in IE6 don't respond to click event:
URLリンク(code.google.com)
Googleの対応待ちか..

736:727
08/01/10 11:09:03
>>735にコメントついてました。また、試行錯誤の結果、とりあえず、明示的にアイコンを指定するとドラッグについては回避できました。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "URLリンク(www.w3.org)">
<html xmlns="URLリンク(www.w3.org)">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps API2 Sample</title>
<script src="URLリンク(maps.google.com)" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
window.onload = function() {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37,136), 5,G_NORMAL_MAP);
map.addControl(new GLargeMapControl());
map.addControl(new GScaleControl());
var _icon = new GIcon();
_icon.image = "URLリンク(labs.google.com)";
_icon.iconSize = new GSize(12, 20);
_icon.iconAnchor = new GPoint(6, 20);
var marker1 = new GMarker(new GPoint(138, 36),{icon:_icon,draggable:true}); //Win2K IE6でも問題ないマーカー
var marker2 = new GMarker(new GPoint(138, 34),{draggable:true}); //Win2K IE6でクリックイベントが発生しないマーカー
map.addOverlay(marker1);
map.addOverlay(marker2);
//GEvent.addListener(marker1, "click", function(){alert("Marker1 Click!!");});
//GEvent.addListener(marker2, "click", function(){alert("Marker2 Click!!");});
} //]]>
</script></head>
<body><div id="map" style="width: 500px; height: 400px"></div></body></html>

737:nobodyさん
08/01/10 18:23:53
>>726
俺も今日その問題に遭遇した。
どうも昨日のWindowsUpdateが怪しいと思うんだが…。
APIを過去のもの(2、2.s、2.58などなど)にしてもダメだし。
ちなみにFireFoxだと動く。


738:737
08/01/11 12:58:28
今、見たら直った^^
v=2.x

739:726
08/01/11 13:52:46 +LOxjag7
俺も直ってました。
問題が起ってた環境はWinXp,IE6です。
でも、他サイト見ると直ってない所もある・・・

パッと見で超適当ですけど
openInfoWindowHtmlは直ったけど
openInfoWindowはまだ駄目なのかもしれない。

グーグルの人今度は別バージョンでやってからリリースしてくれよ~。

740:nobodyさん
08/01/11 14:33:55
v=2.xとか指定してておかしくなるのはしょうがないけどね。
v=2指定でバグったら、なんだかなーと思う。

741:nobodyさん
08/01/11 23:17:43
もっこりもこみち

742:nobodyさん
08/01/12 15:28:38 DRQ7deB/
ぴちぴちはまぐち

743:nobodyさん
08/01/14 15:57:48
>>740-742
邪魔すぎるからどっかいってくれるかな?

744:nobodyさん
08/01/14 18:53:27
            ____
       /      \
      /  ⌒   ⌒\        
    /   ( ●)  (●) \    ・・・・・
    |       ,ノ(、_, )ヽ    | 
     \      -=ニ=-   /  
    ノ           \


         ____
       /      \
      /  ⌒   ⌒ \        
    /  (●)  (●)  \    ん?
    |      ,ノ(、_, )ヽ     | 
     \     -=ニ=-    /  
    ノ           \

745:nobodyさん
08/01/15 13:11:57
何故740も?

746:nobodyさん
08/01/17 16:20:03 3hgEsmwS
GMap2#setCenter()で指定した座標が画面左上に表示されてしまいます。
画面中央に表示されるはずですよね?何が悪いのか??
東京タワーの座標をセットしたソースです。
var map;
function onLoad() {
map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(35.658632,139.745411),18);
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.addControl(new GOverviewMapControl());
map.setMapType(G_NORMAL_MAP);
}
実行すると31(サーティワン=アイス屋)のアイコンが画面左上に表示されてしまいます。
URLリンク(www.geocoding.jp)
geocodingだとサーティワンは画面中央に表示されてます。

747:nobodyさん
08/01/17 18:45:03
真ん中に表示されるけど・・・。

748:nobodyさん
08/01/17 19:21:08 3hgEsmwS
>>747
レスありがとうございます。
>>746のファイルを直接呼び出すと真ん中に表示されました。
でも<iframe>で他のHTMLに組み込むと画面左上になってしまいます。
目的のHTMLがUTF-8でないので、<iframe>で読ませたいのですが、皆さんこのような事象は起きていませんか?
<iframe src="googlemaps.html" width="500" height="500" scrolling="NO" frameborder="0"></iframe>


749:nobodyさん
08/01/17 21:41:06 3hgEsmwS
>>746 >>748
原因分かりました。下記のように<iframe>を<div>で囲んでいるのですが、この<div>タグが画面ロード時に非表示(display:none)になっているとうまく動作しないようです。
<div height="340" id="PANEL1" style="display:none;">
<iframe src="googlemaps.html" width="500" height="500" scrolling="NO" frameborder="0"></iframe>
</div>
ボタン等が押された時に<div>タグを可視化(style.display = "";)しているのですが、このやり方だとGMap2#setCenter()の座標指定がセンターにならないようです。


750:nobodyさん
08/01/22 13:15:38 2lDbj7KP
APIじゃないけど、
携帯のGoogle mapを住所じゃなく位置情報で取得することはできないですか?

751:nobodyさん
08/01/22 17:01:15
URLリンク(www.ongmap.com)
こんなサイトを作りたい。
CMS使ってまねごとでもいいから何とかならんかしら。

752:nobodyさん
08/01/22 20:24:06 eRSQk7qH
他人の褌でなんとやら、ってやつか。

753:nobodyさん
08/01/22 23:18:20
うん、そうだよ!
何事も真似事から、そうでしょ?
まなび≒まねび ですから!

754:nobodyさん
08/01/23 02:04:18
>>750
auでその場でGPS測位ならば、 URLリンク(hvs.dyndns.org) で出来る。
一定間隔毎に自動で測位も可能。中身は、、、知らない。

755:750
08/01/23 12:20:02
>>754
ごめんなさい、書き方が悪かったです・・・。
GETで地名を渡せば、その場所の住所が出てきますが、
lat・lonを渡して画像を取得する方法はないんですかね

756:nobodyさん
08/01/23 12:27:22
>>755
容易に出来ると思うがな。


757:nobodyさん
08/01/23 12:32:14
他人ごとで、どうでもいいことではありますがw
URLリンク(blog.asial.co.jp)
こういった利用形態は、ライセンス上問題ないんですかね。
以前カシミールというソフト上で、Google Mapが利用された際には
厳しく制限されたりしたのを見ていますので。

それにしても
>ある程度使用させていただける状態になっていると私個人としてはうれしいのですが^^;
楽観主義過ぎませんかねw
世間の著作物・ライセンスに対する認識不足はますますヒドクなってる?

758:nobodyさん
08/01/23 13:14:24
>>757
アシアルの中の人だろ?
その意識はかなりタチ悪いとオモ。

手前の製品を無償配布してから言え、とオモタ。


759:nobodyさん
08/01/23 13:29:03
>>755
方法はあるんだよ。 >>754 のサイトでやっている。
「ここらで」 URLリンク(saya.s145.xrea.com) でも実現されている。

このへんを追いかけてごらん。
携帯サイトのWebプログラムを語ろう
スレリンク(php板:741番)


760:nobodyさん
08/01/23 20:35:57
>>757
よく考えないでスクリプトをコピって転載してる奴もいるな。
URLリンク(ke-tai.org)
修正ってUA見て振り分けただけじゃんw

761:nobodyさん
08/01/24 16:59:44
ドコモとGoogleが提携 正式発表
URLリンク(dailynews.yahoo.co.jp)


762:nobodyさん
08/01/25 01:55:50
携帯に標準搭載されるのはいいが、API公開してくれないと価値半減だな

763:nobodyさん
08/01/31 15:01:25 LhzS0cv7
yahooもAPI公開してますが、どういった違いがありますか?

764:nobodyさん
08/02/01 16:55:09 K3VRVHkR
>>757
URLリンク(groups.google.com)

こんな質問もあるみたいだけど、無料で閲覧できるサイトなら使えるんじゃないの?
とにかくどこかでお金取ってたら駄目なの?

765:nobodyさん
08/02/01 18:26:58
>>757
アシアルのソースを使って画像を抜き出すのはダメでしょう。
下記の「派生物の生成」にあたると思います。
URLリンク(www.google.com)
>画像イメージ
>ユーザーは、全部であるか一部であるかを問わず、画像の複写、リバースエンジニアリング、逆コンパイル、逆アセンブル、変換、修正または派生物の生成をすることはできません。

766:nobodyさん
08/02/05 16:30:24 ifQzZhST
携帯サイトでGoogle Mapの携帯Verを使おうと思うのですが、
商用サイト(マップを使う分は無料)は可能ですか?
ちょっと気になったのですが、規約にはマップ上の企業情報を使うのは禁止と書いてありますが。
地図については触れていなかったもので

767:nobodyさん
08/02/05 22:58:56
URLリンク(maps.google.co.jp)

768:nobodyさん
08/02/07 00:43:29
座標ファイルを隠したいのだけど、方法あるの?
PHPとか使えば可能?

769:nobodyさん
08/02/07 09:36:25
なんでも可能

770:nobodyさん
08/02/08 00:48:09
JavaScriptでは、ローカルのファイルは読み込めないよね。
要は、直リンクできないようにしてる場合は読み込めない。

771:nobodyさん
08/02/08 22:00:19 CMFOa3WL
DLして自鯖に置いとけば良いんじゃない

772:nobodyさん
08/02/10 10:55:12
キャッシュからソース見られたら尾張


773:nobodyさん
08/02/12 21:44:50
どこまで行っても、座標ファイルをパクられる可能性があるわけですね。
なんか労力かけたものが無になる・・・

URLリンク(japonyol.net)
ここの地下鉄マップとかと同じ運命になるかと思うと、ね。

774:nobodyさん
08/02/13 09:26:11
>>773
それがいやならGoogleMapsじゃなくて
自分で実装すればいい訳で。

775:nobodyさん
08/02/13 09:32:34
getHogeHogeで読み込んだものをメモリに展開してマーキングすれば
ソースに配列作る訳じゃなしキャッシュにも残らないから盗まれにくくはなるね


776:nobodyさん
08/02/13 09:58:03
ブラウザが取得できるデータはどうやっても隠蔽は不可能
嫌なら公開なんぞしない事

777:nobodyさん
08/02/18 12:21:34 vZO+WO3q
商用利用はまったくできないようなこと利用規約にあるけど
いつから変わっんですか?

778:nobodyさん
08/02/18 15:33:18
商用は内部使用のみに限るっていうのは前から


779:nobodyさん
08/02/19 15:14:23
ズームの倍率によってマーカーの画像を別のものに入れ替えることは可能でしょうか?

+1ならa.png +2ならb.pngといった具合です。


780:nobodyさん
08/02/19 19:07:15 arJJXBJC
可能。ズームを検知してそこで画像入れ替えればいい。
あとは調べれば分かる。簡単な事だ。

781:nobodyさん
08/02/19 19:56:11
ズームが変更されたときイベント投げられてないんじゃないの?

782:nobodyさん
08/02/19 20:02:53
ふつーにイベント来る

URLリンク(jsgt.org)

zoomend

oldLevel,  newLevel

このイベントは、マップビュー(地図)のズームレベル変更時(訳注:変更後)に発生します。
 イベントハンドラは引数として旧レベルと新しいズーム・レベルを受け取ります。

GEvent.addListener(map, 'zoomend', function(oldZoomLevel,newZoomLevel ){ });


783:nobodyさん
08/02/19 22:25:43 26bl+Wko
福島県喜多方市あたりを地形図に変えると、品川区や立川市が現れる。
どうなってるんだ?

784:nobodyさん
08/02/19 22:53:06
kwsk

785:nobodyさん
08/02/20 02:33:38
>783
そのパソコン壊れてるよw
っていうかウィルス…

786:nobodyさん
08/02/20 09:13:40
>>780-782
ありがとうございました。参考にさせていただきます。

787:nobodyさん
08/02/23 17:51:38 m8IAPkeA
画像切り出しAPIやっときたな
URLリンク(code.google.com)

だがしかし、1日1000ユニーク画像・・・・・・・

788:nobodyさん
08/02/26 23:14:28
>>783
地形図の地名はほんとにいい加減やね。うちの市も隣町の名前になってる。

789:nobodyさん
08/02/28 14:34:36 beUB4DeX
特にサイトいじってないのに、突然map表示できなくなりました。
今までは出来てたんですが、
「Google マップ APIに使用されているキーは他のウェブサイトに登録されています。」
というエラーが出ます。
なぜでしょう。
keyを再取得しても同じkeyが発行されます。
日本語ドメインだとダメ、という情報も見ましたが、私は該当しません。

790:nobodyさん
08/02/28 15:02:47
利用規約よまなかったんだろう


791:nobodyさん
08/02/29 13:01:29
>>787
>query limit of 1000 unique (different) image requests per viewer per day.

ってのは、1視聴者が1日に1000ユニーク画像(パラメータ)って事なのかな?
だとしたら、自前でズームやスクロール機能を付けると場合によってはヤヴァいですねぇ…

で、この制限を超えた場合の措置ってどうなんでしょう?
APIkey単位で利用不可?
そのユーザーだけ利用不可?
利用不可はその日だけで、翌日はまた利用可能?

英語の苦手な私に、だれか教えてくださいませ。

792:nobodyさん
08/02/29 15:45:44
このご時勢翻訳ツール使えばなんとかなる。



793:nobodyさん
08/03/05 19:47:33 1NEhUyUB
「マーカーにリンクを含むkml」を反映させた状態で、
リンク先に飛ぶと常に新しいウィンドウを開くようになってるんだけど、
これを同じウィンドウに表示させることってできる?

794:nobodyさん
08/03/07 17:42:37 Sx/QGO8b
GLatLngBounds が上手く動作しないのですが、分かる方いらっしゃいませんか

var map = new GMap2(document.getElementById("map"));
var geocoder = new GClientGeocoder();
var one;
var two;

geocoder.getLocations( "港区赤坂5-3-6", function(locations) {
  if (!locations || locations.Status.code != 200) {
    alert(address + " not found");
  } else {
    var place = locations.Placemark[0];
    var point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
    one = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
    map.setCenter(point, 16);
    var marker = new GMarker(point);
    map.addOverlay(marker);
  }
} );
geocoder.getLocations( "港区東新橋1-6-1", function(locations) {
  if (!locations || locations.Status.code != 200) {
    alert(address + " not found");
  } else {
    var place = locations.Placemark[0];
    var point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
    two = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
    var marker = new GMarker(point);
    map.addOverlay(marker);
  }
} );
var gb = new GLatLngBounds( one, two );
map.setCenter( gb.getCenter(), map.getBoundsZoomLevel( gb ) );

795:nobodyさん
08/03/07 20:14:08
上から順に実行される訳じゃないから

796:nobodyさん
08/03/08 13:22:49 MdAlPFz+
>>757
馬鹿だなこいつ
これは完全に規約違反だよ。

URLリクエスト投げるだけでいいのに
わざわざPHPwrapするいみあるのか?
MAP画像をはくなバカ。重いだけだぞ。

実現のための手順だが、
画像を生成するための<img>タグにURLを吐くのが正解です。
PHPでやりたいなら要するにこうだ。
以下のような”テキスト”を吐くだけでいい。
<img src="URLリンク(maps.google.com)">
そうすると携帯から画像要求をGoogleに直接リクエストしてるから何の問題もない。
表示結果も同じだ。
マーカーもパラメータでついかできるしな。

今後はstaticmapのがいいのかもしれないな。
そのコードもなかで同じことやっとるけど。
PHPの出力がGoogleの画像名時点でアウト。重くしてどうすんだよ


まさにズボンはいてからパンツはいて逮捕されるようなソースコードですよ・・・

てか、こんなレベルのヤツがPHPの本出版てハライタス

797:nobodyさん
08/03/08 17:46:50
>>796
恥を露呈しなくてもいいのに

798:nobodyさん
08/03/08 20:02:26
PHPのプログラマに何かを期待するなんてハライタス

799:nobodyさん
08/03/08 21:05:52
言語の特性も知らず 優劣を語るやからの方が笑える

800:nobodyさん
08/03/09 03:21:38
Google、企業向けに「Google Maps API Premier」をリリース
URLリンク(www.itmedia.co.jp)


「あんたのサイトはトラフィック多過だからプレミアにしてね」
と言われてしまう時代が到来するのか?

801:nobodyさん
08/03/10 17:07:02 zx2D80AV
<div id="map" style="width: 500px; height: 300px;"></div>

<div onclick="hogehoge()">地図表示</div>
<div onclick="hugihugi()">地図表示2</div>

function hogehoge(){
var map = new GMap2(document.getElementById("map"));
map.addControl( new GLargeMapControl() );
map.setCenter(new GLatLng(123456789), 15); var point = new GLatLng(123456789);
map.addOverlay(new GMarker(point)); map.openInfoWindow(map.getCenter(), document.createTextNode("hogehoge"));}

function hugihugi(){
var map = new GMap2(document.getElementById("map"));
map.addControl( new GLargeMapControl() );
map.setCenter(new GLatLng(98765431), 15); var point = new GLatLng(98765431);
map.addOverlay(new GMarker(point)); map.openInfoWindow(map.getCenter(), document.createTextNode("hogehoge"));}

こんな感じでボタンを押すたびに別の地図を表示したいんですが、
実際にやるとメモリがとんでもなく消費されます(特にIE6)

これを回避するいい方法はないでしょうか?よろしくお願いします。

802:nobodyさん
08/03/10 17:25:02 OSs1Oy0P
functionの外でvar mapしてもダメなの

>>794 どなたか分かりませんかね

803:nobodyさん
08/03/10 20:29:12
>>794

>>795

804:nobodyさん
08/03/10 21:20:09
APIの問題なのか、コードの問題なのか
切り分けから初めて、機能ごとに確認していくべき

805:nobodyさん
08/03/10 21:30:21
var gb = new GLatLngBounds( one, two );
map.setCenter( gb.getCenter(), map.getBoundsZoomLevel( gb ) );
をそれぞれのelseに入れる

806:794
08/03/10 21:46:50
できました! ありがとうございます

でも何でデキて何でデキなかったのか全く分からないや orz

807:nobodyさん
08/03/10 21:56:28

>>795

808:nobodyさん
08/03/10 22:07:08
>>794 このコードが最終的な目的じゃないんですけど
もしかして
GClientGeocoder.getLocations
GLatLngBounds.extend
2つを共存させるには、どっか1点固定で指定しておかないとダメかしら

809:nobodyさん
08/03/11 07:35:39
たとえば2件だったらその中間点が中心にくるのは当たり前

どっちかのgetLocationsしたポイントが真ん中に来て欲しいのなら
GLatLngBoundsはあくまで適切なzoomサイズの計算のためだけに使っておいて
最後にcenterだけ変更

810:nobodyさん
08/03/11 10:45:41 83XDff5L
わかりにくくて、すみません
getLocationsで30個ほどマーカーを置きたいのですが
上から順番に動作するわけじゃない為
extendが上手く動いてないのかな
という意味です

811:nobodyさん
08/03/11 18:13:59
>>810
グーグルマッパーの俺様がきましたよ。
とりあえずサイト見せてくれれば速攻みてあげるのですが。

これは処理のタイミングの問題だね。
geocoder.getLocations( )で定義するファンクションが実行されるのは、
いわゆるAjax的な通信処理が終わった後ということになります。


問い合わせして数ミリ秒いかかる処理を別スレッドで実行しているため、

グローバルなone twoの値をとっていますが
var gb = new GLatLngBounds( one, two );
map.setCenter( gb.getCenter(), map.getBoundsZoomLevel( gb ) );
ここに来たときの one two には何も入ってないわけです。

よって解決方法は

1.setTimeout()でGLatLngBoundsのタイミングをずらす。
  (但しこの場合はレスポンスタイムがわからないため)

2.  グローバル変数にカウンタを持たせる。読み込み後、同一ファンクションを通過させて



812:nobodyさん
08/03/11 18:15:43
>>811 のつづき

2. グローバル変数にカウンタを持たせる。
   (読み込み後、同一ファンクションを通過させて。必要数の処理を確認した後GLatLngBounds
   を実行する。)

などなど、やるかたはいろいろあるとおもうよ。


813:nobodyさん
08/03/11 19:07:03
できたああああああああああああああああああああああああああ

いわゆるAjax的な動きが全く分かってませんでした (TдT)
本当にありがとうございました

814:nobodyさん
08/03/12 15:22:59
いいってことよ。

>>796の件は
規約違反かどうかはわからないけど
ソースがうまくないのは確かだね。

815:nobodyさん
08/03/13 17:28:34 +Hfx6OQJ
ポインターを200個ぐらい地図上に並べるのって、規約違反になったりしますか?

規約の
>ユーザーは、Google マップを本人またはその他の者が、多量の緯度経度の数値データをダウンロードやフィードするためのアクセスを得るような方法で利用してはなりません。

にひっかかるんでしょうか?

816:nobodyさん
08/03/13 17:59:35 HYLpscVU
何をしたいのかよくわからないけど、
Google マップを本人またはその他の者が、多量の緯度経度の数値データを
ダウンロードやフィードするためのアクセスを得るような方法で利用しなければおk

817:nobodyさん
08/03/13 23:40:49
>>815
本当に何を言いたいのかさっぱりわからんな
ポインターってマーカーの事だろか?

818:nobodyさん
08/03/14 10:15:37
マーカーでポイントするときにわざわざ
GClientGeocorder.getLocations を一度に大量に使うと
間違いなく規約に引っかかる
マーカー作るときは「既にget済みの」LatLngで実行すれば
大量の問い合わせは発生しない
さて大量のポイントをどうやって「既にget済みの」状態にするかだ

819:nobodyさん
08/03/14 11:18:47
ポインタじゃなくて、マーカーのことでした。

同じようなことしてる人のソースをパクれば規約違反にならないでしょうか?

820:nobodyさん
08/03/14 21:47:39
自己解決しました。

人のソースをパクりました。

821:nobodyさん
08/03/15 02:25:01
それで解決ならいいけど。

822:nobodyさん
08/03/15 06:52:42
やっぱりマーカーか。まぁそれなら規約には引っかからない。
ただ単に経緯度情報が欲しいがためにアクセスしまくるなって事だろ。
解決したならいいけど。

823:nobodyさん
08/03/16 15:55:50
Googleマップでキーワード検索したときにA,B,Cと建物や店が出てくるけど、
このデータはGoogle Maps APIでは取れないですよね?
どこから取ってるんでしょう?
GeoCoderのAPIでアドレス検索 > 経緯度取得 > hotpperなどで経緯度周囲の店
検索とかはできるんですが・・・

824:nobodyさん
08/03/16 15:57:21
ありゃGClientGeocoder#getLocations()でいいのかな・・・orz

825:nobodyさん
08/03/16 16:37:28
再度自己レス。もっとちゃんと調べろや!と怒られそう。
GlocalSearchっていうGoogle Ajax Searchの方のAPI使えば、
経緯度周囲の情報が取れるんですね。

826:nobodyさん
08/03/17 10:29:54
最近になってまた MAC + Safari 1.3.2 で GoogleMap(本家も駄目)を表示すると
ブラウザが落ちるようになったんですが、何か情報をお持ちの方いませんか?

参考:
textbox.jp :: 備忘録 :: MacOSX10.3のSafariでGoogleMapを表示すると落ちる件
URLリンク(www.textbox.jp)

827:nobodyさん
08/03/17 10:40:22
自己解決

日本語版のヘルプページが更新されていないのが問題とのこと
ソース ↓
URLリンク(groups.google.com)

英語版では

Which web browsers does Google Maps support?

Google Maps currently supports the following web browsers:

* IE 6.0+ (download: Windows)
* Firefox 1.5+ (download: Windows Mac Linux)
* Safari 2.0.4+ (download: Mac)

If you're using one of these browsers and are encountering problems, please visit our troubleshooting guidelines.

とのことです。

828:826
08/03/17 11:31:50
追記
・GBrowserIsCompatibleで判定しても駄目
・そもそも Google マップ URLリンク(maps.google.co.jp) を開いても落ちる
ので、Googleの対応待ちかと。

829:nobodyさん
08/03/25 19:55:29 ePll5l2q
教えてください。
参考書を買って勉強中なのですが、
↓のソースに情報ウィンドウを追加させるにはどのようにしたらいいでしょうか?

URLリンク(www.openspc2.org)

830:829
08/03/25 19:57:10 ePll5l2q
URL間違えました。すみません・・・

URLリンク(www.openspc2.org)

831:nobodyさん
08/03/25 22:26:59
>>829
何がわからないかはっきり書けって。
丸投げか?

832:829
08/03/26 00:14:42 fPFMy6eV
>>831
言葉足らずで申し訳ありません。

やりたいこと:
>>830のソースを元とし、マーカーがクリックされたらcsvから読込まれた情報ウィンドウを表示したい

わからないこと:
GEvent.addListenerをどこに追加し、
csvのデータをmarker.openInfoWindowHtmlに渡す?その追加方法がわかりません.


833:829
08/03/26 00:17:10 fPFMy6eV
こんな感じだと思っているのですが、そこからがつまずいています。

function addMarker() {
map.clearOverlays(); // 全てのマーカーを消去(線も消えるので注意)
var count = 0; // 表示するマーカーの数をカウントする変数
var CR = String.fromCharCode(13);
var txt = httpObj.responseText;
var pointData = txt.split(CR);
var area = map.getBounds();
for (var i=0; i<pointData.length; i++) {
var pnt = pointData[i].split(",");
var mx = pnt[0];
var my = pnt[1];
var gpObj = new GLatLng(my, mx);
if (area.contains(gpObj)) {
map.addOverlay(new GMarker(gpObj));
count++;
}
GEvent.addListener(gmap, "click", function(marker){
marker.openInfoWindowHtml(csvのデータ指定);
} );
}

834:nobodyさん
08/03/26 01:03:55
>>833
変数がいきなり変わってたりして意味不明やけど、

map.addOverlay(new GMarker(gpObj));
こうすると追加したマーカーに対してイベントを設定できない。

marker = new GMarker(gpObj));
中略
GEvent.addListener(marker, "click"~

合ってるかどうかは知らんけど、たぶんいける



835:829
08/03/26 19:03:16 +Zi/Ns8O
>>834
レスありがとうございます。

ご指摘いただいた箇所を修正しましたが、エラー表示が出てしまいました。
変更箇所が悪かったのでしょうか?

if (area.contains(gpObj)) {
marker = new GMarker(gpObj));
count++;
}
GEvent.addListener(marker, "click", function(marker){
marker.openInfoWindowHtml(csvのデータ指定);
} );
}

---------------------------------------
marker = new GMarker(gpObj));
↑の行数でエラーが出てるようです

ライン:37
文字:32
エラー:';'がありません。
コード:0
---------------------------------------

836:nobodyさん
08/03/26 20:34:17
素人が見てもカッコが1個多そうだけど

837:nobodyさん
08/03/27 12:23:57 x8Bfv0lr
Map上のコンビニとかファミレス情報は消せないのでしょうか?

838:nobodyさん
08/03/27 16:27:29
>>836
これが本当の「かっこつけすぎ」。

839:829
08/03/27 23:43:16 MqTPnQ18
報告
>>650の方が同じようなことをやっていましたので参考にしました。

現在は情報ウィンドウが表示されるようになりました。
ありがとうございます。

次なのですが、情報ウィンドウが表示できたのですがCSVから読込みさせる方法でつまづいています。
どのように指定すればいいのでしょうか?

840:829
08/03/27 23:45:01 MqTPnQ18
現在のソース

var CR = String.fromCharCode(13);
var txt = httpObj.responseText;
var pointData = txt.split(CR);
var area = map.getBounds();
for (var i=0; i<pointData.length; i++) {
var pnt = pointData[i].split(",");
var mx = pnt[0];
var my = pnt[1];
var gpObj = new GLatLng(mx, my);
if (area.contains(gpObj)) {
marker = new GMarker(gpObj);
count++;
map.addOverlay(marker);
GEvent.addListener(map,"click",function(marker){
if(marker){
marker.openInfoWindowHtml(CSVの列番号を指定);
}});}}

841:829
08/03/27 23:47:05 MqTPnQ18
var gpObj = new GLatLng(mx, my);

var mz = pnt[3];
var gpOiw = new htmlElem(mz);

if (area.contains(gpObj)) {

↑こんな感じで足せばいいと思ったのですが考えが甘かったです・・・

842:nobodyさん
08/03/28 01:45:51
さすがにもうちょっと勉強しないと
教えるじゃなく、ソース全部書いてあげることになりそう

843:nobodyさん
08/03/29 12:10:58
もちろん書いてもらうつもりなんですが

844:nobodyさん
08/04/09 17:34:20
URLリンク(xoops.iko-ze.net)

このサイトを携帯から見た場合、地図の表示範囲内にあるマーカーの一覧が下に表示されます。
携帯向けなのでJAVAスクリプト未使用のはず。

JAVAスクリプトを使わずにこのような表示をするにはどうしたら良いのでしょうか。

845:nobodyさん
08/04/09 17:43:54
>>844
マーカーの場所はデータとして持っていて、
どの場所を地図上にマーキングするかをコントロールしているんだから
そのマーキングの名称やらをページ内に表示できることに何の不思議もないですよ。

846:nobodyさん
08/04/09 19:00:22
>>845
なるほど。

地図の範囲内にマーカー座標が含まれている

マーカー表示、およびマーカー情報を表示ということですよね。

その判別(絞込み)方法が知りたいのですが・・・

847:nobodyさん
08/04/09 21:05:39
>>846
いや、そもそも>>844の地図とか、何やっても一緒じゃない?
全然動的じゃないような…

848:nobodyさん
08/04/09 21:09:39
>>846
> 地図の範囲内にマーカー座標が含まれている
いや考え方が逆
地図の範囲内に含まれるポイントをマークする。
この違いは判りますよね?

849:nobodyさん
08/04/09 21:36:21
>>848
はい、それについては判ってます。


>地図の範囲内に含まれるポイントをマークする

この場合PHPで処理するなら次のような感じですよね。

if(地図の範囲内にポイントが存在) {
マーカーの情報をデータベースから取り出して表示
}

どうやって地図の範囲を調べてるのか、そのロジックがわからないんです。

850:nobodyさん
08/04/10 00:39:22
携帯で見れなかったから予想だけど、中心点の座標と縮尺さえわかれば、4辺の座標がわかるから、その範囲内の物をDBから引っ張るってことじゃなくて?

851:nobodyさん
08/04/10 02:43:56
>>849
> どうやって地図の範囲を調べてるのか、そのロジックがわからないんです。
API見てこいボケ!そのまんまあるわ

852:nobodyさん
08/04/10 04:41:32
>>851
探してみましたが見つかりませんでした。

Google Static Maps APIに関しては情報が少ないんで良く分からないんですよね。
とりあえずもうちょっと探してみます。

853:nobodyさん
08/04/10 12:14:03
GMarker をクリックしたときに任意のコードを実行させるにはどうしたらいいですか。
var gmarker = new GMarker(new GLatLng(37.4419, -122.1419));
gmarker.onclick = function() { alert('clicked.'); }
としたけどだめでした。
こんな簡単な質問でごめんなさい。

854:nobodyさん
08/04/10 22:47:34
>>844

そもそも gnaviはXOOPSのモジュールでおーぷんそーすだろ?。

ごたごたいうまえにソースDLしてみてみろよ

ソースDLできるじゃねぇか

855:nobodyさん
08/04/10 23:09:55

>>853

var gmarker = new GMarker(new GLatLng(37.4419, -122.1419));
GEvent.addListener(gmarker, "click", function() {
alert('clicked.');
});

でいけねーかな。
googlemapのイベントはリスナーでとるのよ

856:nobodyさん
08/04/11 05:18:50
>>854
まだ携帯版は公開されてないんです。

とりあえず>>850さんの案で、自力計算から求めてみることにしました。
色々とコメントありがとうございました。

857:nobodyさん
08/04/11 09:55:14
>>856
URLリンク(xoops.iko-ze.net)
これね

858:nobodyさん
08/04/11 12:06:33
自家実装だったとしても座標の計算でいける。
ぽすぐれなんかだと、2点の距離計算が組み込み関数として用意されてるしね。

859:nobodyさん
08/04/11 13:13:16
ぽすぐれてw
2点間の距離なんて関数なくても馬鹿でもわかるだろw

860:nobodyさん
08/04/11 19:50:30
半径〇○内の、という話じゃない?ポスグレ。

861:nobodyさん
08/04/17 02:31:01
しかし、いつになったら新名神高速道路表示されるんだろ。

862:nobodyさん
08/04/18 10:45:06

取得済みの「マップAPIキー」を無効にする方法はありますか?


863:nobodyさん
08/04/18 22:27:03
あります

864:nobodyさん
08/04/25 15:45:08 VjGTXO6P
APIキーが無くても表示出来るんでしょうか?

865:nobodyさん
08/04/25 20:40:24
NAVITIMEがSB端末への進出に積極的ですね。

ナビタイム、X02NK/X03HT向けの地図アプリ
URLリンク(k-tai.impress.co.jp)

ナビタイム、「920P」向けの助手席カーナビサービス
URLリンク(k-tai.impress.co.jp)

866:nobodyさん
08/04/25 20:41:44
>>865
スマソ GPS関連スレへのカキコと間違えた。

867:nobodyさん
08/05/03 13:37:27 VSvM8iEp
地図の右側にHTMLのエリアを被せて表示させているのですが、
アイコンをクリックするとふきだしがエリアの下に入ってしまいます。

URLリンク(www.uniqlo.com)

↑のサイトのようにマーカーをクリックしたときにふきだしを
特定の位置にずらしたいのですが、
どのようにしたらよいでしょうか。。

868:nobodyさん
08/05/04 12:11:01
このサイトのようにって…

やってるサイトがあるんならソース見ろよ

869:nobodyさん
08/05/04 12:25:28
>>867
ふきだしをずらす処理なんてしてるか?
吹き出しが画面に収まるように勝手に移動してるだけじゃないの?

870:nobodyさん
08/05/04 13:27:30
>>867
しかもふきだししたにはいってるんだが・・・

871:nobodyさん
08/05/04 15:45:50
PHP化まだ~~?
JavaScriptをPHPで出力すのは無しね

872:nobodyさん
08/05/04 19:02:42
>>871
なにをPHP化するのまってるんだっけ?

873:nobodyさん
08/05/06 22:37:57
PHP化???

874:nobodyさん
08/05/08 09:27:55
ここのことだろw
URLリンク(www.php.co.jp)


875:nobodyさん
08/05/08 10:53:02
クライアント側でPHPを実行するの?
phpscriptかw

876:nobodyさん
08/05/08 11:30:01
>>874
宣伝か?ハゲ

googlemapページを出力するPHPスクリプトなんてゴロゴロあるだろうが



877:nobodyさん
08/05/08 11:59:02
>>876
ボケに向かってハゲとは何だ!

878:nobodyさん
08/05/09 18:40:39
PHP環境ででgoogleMapを管理するCMSとか?

879:nobodyさん
08/05/09 22:23:31
クライアント実行のJavaスクリプトじゃ住所から緯度経度は取れても
そのMap表示は、再表示が必要なとこあたりか?


880:nobodyさん
08/05/09 22:37:00
>>879
それは再表示必要ないな
似たようなことで悩んだことあったが忘れた


881:nobodyさん
08/05/11 01:40:29 s1zwpcjq
Google Mapsのサーチボックスを自サイトに埋め込むことって出来ないよねェ?

882:nobodyさん
08/05/11 07:52:48
>>881
同じようなものなら可能

883:nobodyさん
08/05/11 11:37:06
>>882
えっ!何それェ?おしえてくだされ。

884:nobodyさん
08/05/11 16:29:20
最初からこういうものが作りたいんだけどって相談すればいいのに
なんでそんな気持ち悪い聞き方すんの?


885:nobodyさん
08/05/11 17:08:53
できないと思ってて、Googleの規約みたいのに反しちゃうんじゃないかって考えてたからだよ。
出来るワケねーだろ!って言われて終りかと思ってた。

886:nobodyさん
08/05/11 18:06:07
>>882
日本語でおk

887:nobodyさん
08/05/15 15:36:36
php化はともかくw、flash化はしてほしいよな

888:nobodyさん
08/05/15 20:37:19
って言ってるそばから対応キテタw

Google MapsをFlashから利用できる「Google Maps API for Flash」公開
URLリンク(internet.watch.impress.co.jp)


889:nobodyさん
08/05/20 09:50:40
Flash版よさげだな
URLリンク(geoquake.jp)

890:nobodyさん
08/05/21 13:40:16
マルチですまんが ここで聞いていいのかあれなのだが、
グーグルアースのプライマリデータってエクスポートできる方法ありますか?

891:nobodyさん
08/05/22 03:42:09
マルチはよくないです

892:nobodyさん
08/05/22 10:23:40
けっきょくどこでも答えられないからいいんじゃね?

893:nobodyさん
08/05/22 10:41:48
ありますん

894:nobodyさん
08/05/22 11:43:05
>>893
漏れも知りたい

895:nobodyさん
08/05/23 00:17:05 jcOM65/Q
ここ最近、GoogleMaps重くね?

896:nobodyさん
08/06/14 01:27:52
APIドキュメントの日本語版でたね

897:nobodyさん
08/06/14 18:24:00
>>146でもありますが、
ある一定以上の倍率にしたくない場合はどのような方法がありますでしょうか?

GEvent.addListener(map, 'zoomend', function(oldZoomLevel,newZoomLevel ){ });
を使えば、「一度倍率が変更された」後に強制的に倍率変更は出来そうですが、
そもそも変更させないことは可能でしょうか?

お知恵をお貸し下さいm(_ _)m

898:nobodyさん
08/06/18 19:59:25
php+mysqlでマーカー配置しようとしたら、xml吐かせた時にFFやSafariではうまくいったのに、
IEだと
XML ページを表示できません
スタイル シートを使用した XML 入力は表示できません。エラーを訂正してください。 [更新] ボタンをクリックするか、または後でやり直してください。
とエラーを吐かれてしまいます。

テストはいずれもWindowsXP内から、鯖は自鯖でMySQL 5.0.45+PHP 5.2.4です。
片一方ではうまくいってるのでなんともし難く、手前の腕では手詰まってしまいました。
何卒お力添えを。

899:nobodyさん
08/06/19 00:43:53 tlswNeC+
こんばんは。

マーカーをクリックするとふきだしが出るようにしています。
その際に、端っこのマーカーだと地図が少しずれて、
GEvent.addListener(map, 'moveend',~ が呼び出されてしまいます。
これを呼び出されないようにする方法もしくは、呼び出された後にふきだしが表示されていれば
何も処理しないということは出来ないでしょうか?


900:898
08/06/19 02:44:22
すんません、自己解決しました。
すんごい初歩ミス…orz

901:nobodyさん
08/06/19 10:11:02
>>899
ムリポ

結局は噴出しでムーブするのは事実だからね
呼び出されなくする方法はないので

フラグでもつけたらいいんじゃない?

902:nobodyさん
08/06/21 01:15:46
マーカークリックしてバルーン内にhtmlを表示させた時に表示が崩れる時があるのは仕様?
バルーン閉じてもう一回同じマーカークリックするとちゃんと表示されるんだけども。

903:nobodyさん
08/06/21 12:05:15
>>902

当て推量だけどimgタグを使っていてwidthとheightを指定していないってオチじゃないか?
画像を読み込む前はイメージのサイズがわからないのでレイアウトが崩れる。
一度読み込むとキャッシュに残っているのでサイズは既知。

仕様と言えば仕様だが。

904:nobodyさん
08/06/22 02:10:21
>>902
<IMG>タグを使って height 指定をしていない場合で画像の高さによってレイアウトが

905:nobodyさん
08/06/22 02:23:04
ミスった904の続き

<IMG>タグを使って height 指定をしていない場合で画像の高さによって
全体の高さが変わる場合は崩れる仕様。
これはバルーン内のHTMLが形成された後に画像がロードされるから。

903が言うようにheightを指定するのが一番いいが結構面倒。

javascriptの仕様では直前にheightをとろうとしても失敗することがおおいので以下のようにすればヨロシ

GEvent.addListener( m , "click", function(){
var i =new Image();
i.onload=function(){this.openInfoWindowHtml("<img src='画像のURL'>");};
i.src="画像のURL";
})

配列でマーカー管理してるのならもうちょっと複雑になるが、
この方法では画像をロードしてからバルーンが出るのでレイアウトは崩れない。

画像が重いと開くまで一瞬時間がかかるけど。

マーカーが少ないなら全部プリロードしてしまうのも良いかもね

906:nobodyさん
08/06/22 02:24:24
あ、thisじゃとれんね。

GEvent.addListener( m , "click", function(){
var i =new Image();
i.onload=function(){m.openInfoWindowHtml("<img src='画像のURL'>");};
i.src="画像のURL";
})

907:902
08/06/22 11:24:36
>>903-906
丁寧にどうもです。
マーカーは20個以上あるので配列使って配置する中で単純に<IMG>タグのみで
作ってました。
HTML生成が先ということは、最悪<TABLE>タグを使ってheight指定してあげればレイアウトは保持されるということで合ってますかね?
画像は240*180でほぼ固定なのでこっちのほうが面倒は無いかなと思ったのですが。

プリロードの件、参考になりました。
今回は急を要した話だったので、今後もう少し知識付けてから参考にさせていただきます。
ありがとうございました。

908:nobodyさん
08/06/22 17:36:28
単純に image タグでいいんだが、何でtableタグを使おうとしているんでしょうか?
<img src="image01.jpg" width="240" height="180" alt="image01">

「保持されるという事で合ってますか」とか聞く前に試してみればいいと思うんだが?
レス書いた文字数より遥かに少ないキータッチで確認できるのに(w

あと、width属性が原因かどうかは誰にも分からんよ。元の質問が「崩れる時がある」なんて情報不足も甚だしい。
真面目なレスが来ただけで奇蹟と思わないと。
HTMLの知識より先に身につける事があるんじゃね?

909:nobodyさん
08/06/22 18:17:49
>>907
わざわざtableタグ使わなくても>>908のようにimgタグで十分だと思う
imgもheightやwidth指定できるし。
web上でタグとか独習してるのなら、すぐ手元で引けるHTML辞典とか買っておいた方がいいよ。
サンプルも掲載されてるからイメージ掴みやすいだろうし。

情報不足ってか、再現性が無いから崩れるときがあるって書き方したんじゃね?
そんな喧々しなくていいと思うけど。
…ただ複数のブラウザで試すとか、不具合でたブラウザくらいは書いてもいいと思ったけどな。


910:nobodyさん
08/06/23 10:04:53
srcがDBかなんかから引っ張るからwidth heightがとれないってことじゃないの?
大枠でブロックでスペース切っとくのもいいと思うけどな
ただ、tableだとブラウザによってはheight解釈しないからdivのほうがいいぞ

ちなみに908が馬鹿なこと言ってるけど
この現象はすでに報告されている


911:nobodyさん
08/06/24 00:18:26
>>910
バルーン表示時にwidth を指定していないとレイアウトが崩れるのは既知のトラブルですが、
「レイアウトが崩れた」原因が全て width, height 属性とは限らないのでは?

902 の質問は「表示が崩れる事がある」「リロードすると治る」としか書いてないので、width 属性以外の原因も想定するのは当たり前だと思うんだが。
「トラブルの原因は既知である」と信じ込むのは個人の自由だけどね。


912:nobodyさん
08/06/24 00:43:05
>>911
なんでそんなに必死なのかは知らないけど、
今回の内容については明らかだろw

913:nobodyさん
08/06/24 01:46:54
独り言だが、
Google Maps API は日夜バージョンアップされるので、最新バージョンで一時的に不具合が出るのはよくある。
古いバージョンのバルーンだと外側の角丸部とコンテンツの四角部に 1px の隙間が空いて表示される時期があった。
バルーン内の長文テキストに nowrap 属性を付けないとレイアウトが乱れるブラウザもあったと聞く。
「そのトラブル、俺知ってるぜ」と断定するより、色んな可能性を考えた方が楽しいよな。

914:nobodyさん
08/06/24 11:57:25
>>913
なんでそんなに必死なのかは知らないけど、
今回の内容については明らかだろww

915:nobodyさん
08/07/02 01:24:38
ジオコーディングによる住所検索をして、マップを
サブウィンドウに表示させるようにしてますが、
ジオコーディングのコールバック関数が呼ばれる前に
サブウィンドウを閉じられるとエラーとなってしまいます。
ジオコーディングをキャンセルする方法又は、ジオコーディング側の
例外をキャッチする方法はありませんでしょうか。
因みにGUnloadでは駄目でした。

916:nobodyさん
08/07/02 12:13:36
コールバック関数の中で
サブウィンドウの(サブウィンドウのなかのGMAP)の存在を
チェックすればエラーにはならんとおもうよ

エラーハンドルで済ませたいなら
try catch したらいいだけじゃないか

917:nobodyさん
08/07/04 09:38:47
最近 googlemap + IE7でエラーがでるようになりました。
また、FIREFOX3でも別のエラーが出ています。

情報が少なくて困っているのですが、何かいい方法はないでしょうか・・・


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch