• 締切済み

グーグルマップのマーカー

simarisu77の回答

回答No.2

マーカーの数は、、、取れるには取れるのですが、 A No.1でおっしゃってるように、グローバル変数で管理するのが一番無難です。 単純には、 function addMarker(){ var mymarker = new GMarker(latlng); map.addOverlay(mymarker); window.markerAmount = !!window.markerAmount ? 1 : (window.markerAmount + 1); } function hasMarked(){ return !!window.markerAmount; } このaddMarkerを経由してマーカーを置くようにすれば、 hasMarkedという関数で、既にマーカーが存在するかどうかが分かります。 どうしてもこのような記述が不都合であるならば、 次のようにして直接マーカーの数を数えることもできます。 function getMarkerAmount(){ return map.getPane(G_MAP_MARKER_PANE).childNodes.length; } 通常の操作の元ではこの方法で問題なくアクティブなマーカー数を取得できますが、 G_MAP_MARKER_PANEというレイヤにNodeを挿入する事自体は「任意の操作」ですので、 あまり良い手段とは言えないです。

関連するQ&A

  • Excelのマーカー付き折れ線グラフについて

    Excelグラフの近似曲線について質問です。 xとyが下記の値の場合に、下記をマーカー付き折れ線で描画したとします。 描画したグラフにxを8~10の範囲に限定した場合の近所曲線を追加したいのですが、どなたか方法ご教示頂けないでしょうか? x8~10の範囲を新しく系列に追加し、その系列に近似曲線を追加する方法を試してみたのですが、追加した系列で選択出来る範囲はyのみで、xの範囲は自動で0~2になってしまいます。 x0~10のグラフとx軸は共有されてしまいます。 y軸 x軸 60 0 30 1 50 2 40 3 80 4 60 5 90 6 30 7 20 8 80 9 50 10

  • 腫瘍マーカー

    会社の定期検診で、胃のバリュームで引っかかりました。 紹介状により医院に行きました。 胃カメラを飲み検査いたところ紹介状の部位は異常ないとの事でしたが、 腫瘍マーカーがこの度標準値を少し超えていました。 この医師によると体のどこかに癌が存在とのことでです。 ちなみに、ポリープが3か所有1か所精検に出したとのことでした。 検診車の制度はどの位なんでしょうか?

  • google mapのマーカーについて

    オブジェクトに関わる質問があります。 今ある地図上に複数のマーカーを表示させて地図をクリックすると、ズームされた子ウィンドウが出てきます。 そして、子ウィンドウではマーカーをドラッグする事が可能になっており、親ウィンドウから子ウィンドウへの情報の受け渡しはできたのですが、移動させたマーカーの新しい緯度、経度の情報を更新させて親ウィンドウに引き渡す作業で手間取っております。 それぞれのマーカーはオブジェクになっており、まだオブジェクトの理解が足りないので、もしわかる方がいましたらお願いします。 以下のコードを使ってます // creating a map var map = new GMap2(document.getElementById("map")); var pointsets = [40.9, -74.2, 41.3, -73.8, 41.1, -74.1, 40.9, -74.18, 41.29, -73.79]; var sets = pointsets.split(","); var markerpoints = new Array(sets.length/2); for(var i=0; i<sets.length/2; i++) { markerpoints[i] = new GLatLng(sets[2*i], sets[2*i+1]); } for(var i=0; i<sets.length/2; i++) { map.addOverlay(makeMarker(markerpoints[i])); } function makeMarker(point){ var marker = new GMarker(point, {draggable:true, autoPan:false, bouncy:true}); return marker; } 以上のコードを使うと、マップ上に複数のマーカーが表示されて、それぞれのマーカーはドラッグ可能になります。 移動させたマーカーの新しい情報を更新させていくには、イベントを使えばと思っているのですが、効率のよいやり方はありますでしょうか? お手数ですが、よろしくお願いします

  • グーグルマップのマーカー

    グーグルマップを設置したのですが、いつの間にか グーグルマップのマーカー消えてしまい、地図だけが残っている 状態になってしまいました。そんなことあるんでしょうか? どうしたらよいか分かる方いらっしゃいますでしょうか?

  • グーグルマップのマーカー

    グーグルマップに表示されたマーカーをクリックすると 吹き出しとか関係なくそのマーカーのもっている座標点に 地図の中心が移動するようにしたいのですが どのように記述するのでしょうか?

  • グーグルマップのマーカー?を消したい

     グーグルで地名などを地図で検索すると、その地点にAとかBとかのはいったマーカー(というんでしょうか、水滴を逆さにしたような記号)マークが表示されます。 ○○駅 などで検索すると、××屋○○駅前店 などがたくさんあって、マーカーだらけになってしまいます。  検索してその地点が表示された後は、マーカーは不要なのですが、画面からこのマーカーを消す方法はないでしょうか。  ブラウザはFireFoxを使ってます。

  • ストリートビューでマーカークリックするとエラー

    マップとストリートビューを並べて表示させるページを作成しています。 マップをクリックしたら、その箇所のストリートビューを表示させたいのですが、マーカーをクリックすると NULLまたはオブジェクトではありません。エラーがでてしまいます。 マーカーにオブジェクトが含まれてないから等かんがえていますが・・・。 var map; var panorama; function load() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map")); map.addControl(new GMapTypeControl()); map.addControl(new GLargeMapControl()); map.setCenter(new GLatLng(35.658517, 139.745493), 16); GEvent.addListener(map, "click", moveCenter); var street = new GStreetviewOverlay(); map.addOverlay(street); var option = { latlng:spoint }; var scontainer = document.getElementById("street"); panorama = new GStreetviewPanorama(scontainer, option); var spoint = new GLatLng(35.658517, 139.745493); panorama.setLocationAndPOV(spoint); } } function moveCenter(overlay, point){ map.panTo(point); panorama.setLocationAndPOV(point); panorama.show(); } ちなみに下記のページを参照しています。 http://www.ajaxtower.jp/googlemaps/gstreetviewpanorama/index3.html これに現状下記のようにマーカーをつけています。 marker = new GMarker(map.getCenter()); // マーカーコントロール作成 map.addOverlay(marker); // マーカー表示 GEvent.addListener(marker,"mouseover",onMarkerMouseMove); // マーカークリックイベント設定 marker.openInfoWindowTabsHtml(mtabs); // フキダシ表示 ----- function onMarkerMouseMove(){ // マーカーにマウス移動 marker.openInfoWindowTabsHtml(mtabs); // フキダシ表示 } なにか他に参考になるページか、マーカークリック時のストリートビューのエラー回避で参考になるものがあればうれしいです。

  • googleマイマップをHPに

    googleマップの『マイマップ』を「iframe」を使ってHPに埋め込もうと思っています。 大元の(マイマップを埋め込んである)ページにリンクを設置し、地図中のマーカーを移動させることは可能でしょうか? また、その逆にマーカーにリンクを付けてお大元のページ内容だけを変更させることは出来るでしょうか? 詳しくはこんな感じです http://www.youtube.com/watch?v=5bHSuPOa_Ko&feature=youtu.be ↑動画で説明しています↑ わかりづらいかもですが、よろしくお願いします。

    • ベストアンサー
    • HTML
  • googlemapsとjavascriptの勉強のため、google地

    googlemapsとjavascriptの勉強のため、google地図を表示させてマウスで地図をクリックすると、クリック位置にマーカーを表示するだけのプログラムを作っています。 この際、地図の上にマウスが乗っていると、マーカーがドラッグされている状態に見えると見た目が判りやすいと思ったのですが(googlemapsのマイマップで新規マーカーを置く時にそんなことやってたと思うんですけど)、どうもその方法がわかりません。 マウスカーソルの移動イベントを取って、マウスカーソルの位置に延々とマーカーを表示し続ければそれっぽく見えるかとも思いましたが、Firefoxだとそれっぽく見えますがIEだと処理に負担がかかるのか、動作がイマイチです。 なんとか解決方法が無いものでしょうか。 参考程度ですが、↓のような物です。 <div id="maps" style="width: 500px; height: 500px"></div> ~~~~~~~~~~~~~~~~~~~~ var maps = new GMap2(document.getElementById("maps")); var ev1 = GEvent.addListener(maps,"click",function(overlay,latlng){ maps.addOverlay(new GMarker(new GLatLng(latlng.lat(),latlng.lng()),{draggable:drag})); GEvent.removeListener(ev1); GEvent.removeListener(ev2); } var ev2 = GEvent.addListener(maps, "mousemove",function(latlng){ maps.clearOverlays(); maps.addOverlay(new GMarker(latlng)); }); ちょっと漠然としていますが、よろしくお願いいたします。

  • google map マーカをブリンクさせることはできますか?

    google map をカスタマイズしているのですが、 マーカをブリンクさせる方法はありますか? 教えてください。