質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

Q&A

解決済

1回答

4792閲覧

google maps api v3でカテゴリごとにマーカーを表示し、チェックボックスで表示・非表示を行いたい

asr

総合スコア19

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

0グッド

0クリップ

投稿2015/10/22 03:16

google maps apiで複数マーカーをカテゴリごとに作成(例えば山マーカー、施設マーカー等)後、
マップに表示されたのち、カテゴリ別のチェックボックスで表示・非表示を行いたいのですが、
どうすればよろしいでしょうか。

配列でカテゴリ名と緯度経度を設定し、マーカーを作成して表示・非表示させる方法や、
緯度・経度・カテゴリを設定したXMLファイルを読み込ませ、マップに表示させてボタン等
で表示・非表示する方法等、コードの載った個人サイトを参考にjavascriptを作成してみましたが、
うまくいきませんでした。

ご教授の程、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

上部中央のチェックボックスを変更してみてください。
コピペコピペで作ったのでご要望に合うかわかりませんが、参考になれば幸いです。
サンプル

HTML

1<!DOCTYPE html> 2<html> 3 <head> 4 <style type="text/css"> 5 html, body { height: 100%; margin: 0; padding: 0; } 6 #map { height: 100%; } 7 </style> 8 </head> 9 <body> 10 <div id="map"></div> 11 <script type="text/javascript"> 12 13var map; 14function initMap() { 15 map = new google.maps.Map(document.getElementById('map'), { 16 center: {lat: -34.397, lng: 150.644}, 17 zoom: 8 18 }); 19 20 var controlLists = document.createElement('div'); 21 'ABC'.split('').forEach(function(chr){ 22 23 var markers=[ 24 addMarker(chr), 25 addMarker(chr), 26 addMarker(chr), 27 ]; 28 29 var controlList = document.createElement('input'); 30 controlList.type = 'checkbox'; 31 controlList.addEventListener('click',function(e){ 32 if (this.checked) { 33 markers.forEach(function(marker){ 34 marker.setOpacity(1.0); 35 }) 36 } else { 37 markers.forEach(function(marker){ 38 marker.setOpacity(0.2); 39 }); 40 } 41 }); 42 controlLists.appendChild(controlList); 43 44 }); 45 46 function setControl(controlDiv, map) { 47 48 var controlUI = document.createElement('div'); 49 controlUI.style.backgroundColor = '#fff'; 50 controlUI.style.border = '2px solid #fff'; 51 controlUI.style.borderRadius = '3px'; 52 controlUI.style.boxShadow = '0 2px 6px rgba(0,0,0,.3)'; 53 controlUI.style.cursor = 'pointer'; 54 controlUI.style.marginBottom = '22px'; 55 controlUI.style.textAlign = 'center'; 56 controlUI.title = 'Click to recenter the map'; 57 controlDiv.appendChild(controlUI); 58 59 controlLists.style.padding = '15px'; 60 controlUI.appendChild(controlLists); 61 62 63 } 64 65 var controlDiv = document.createElement('div'); 66 var control = new setControl(controlDiv, map); 67 controlDiv.index = 1; 68 map.controls[google.maps.ControlPosition.TOP_CENTER].push(controlDiv); 69 70 71 function addMarker(chr){ 72 return new google.maps.Marker({ 73 position: {lat: -34.397 + Math.random() -.5, lng: 150.644 + Math.random() -.5}, 74 label: chr, 75 opacity: 0.2, 76 map: map 77 }); 78 } 79 80} 81 82 </script> 83 <script async defer 84 src="http://maps.googleapis.com/maps/api/js?callback=initMap"> 85 </script> 86 </body> 87</html>

投稿2015/10/23 02:41

Lhankor_Mhy

総合スコア36074

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

asr

2015/10/23 03:03

ありがとうございます。 分かりやすいソースなので、解析から思うようなものを作れそうです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問