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

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

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

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

0回答

960閲覧

じGoogle Maps APIで表示しているマーカーのフィルター方法がわからない

tomato01

総合スコア80

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

1グッド

0クリップ

投稿2019/11/21 14:05

編集2019/11/21 14:36

よろしくお願い致します。

やりたいこと
Google Maps APIを使用し、複数のマーカーの色分けをして設置しており(3種類)、それらのマーカーをピンの色ごとにフィルター(絞り込み)できる機能の実装を考えております。
具体的には、色ごとのボタンを設置し、ボタンを押すとその色のマーカーが消えるようにしたいです。

現在の状態
複数のマーカーを色分けして、ピンを立てるところまでは完成しております。

その後、ボタンを設置し、表示しているマーカーのフィルター(絞り込み)を行いたいと思っておりますが、どうやってコードを書けば良いかわからない状態です。(何度か試しましたが意図した動作になりませんでした。)

調べたところnew google.maps.Markerにcategoryのオプションを追加し、実際に実装をされている方の情報を確認したのですが、自分のコードの場合、どうやって適用をさせたらいいかわかりません。

http://cly7796.net/wp/javascript/switch-markers-displayed-by-google-maps-api/

https://stackoverflow.com/questions/22323073/how-to-filter-google-maps-markers-in-one-array-with-select

現状のコード(JS)

var map; var marker = []; var data = []; var infoWindow = []; function initMap() { map = new google.maps.Map(document.getElementById('map'), { center: {lat: 70.846193, lng: 135.617413} , zoom: 12 }); var labels = ''; var data = [ {name: 'りんご', id:'1', icons:'http://maps.google.co.jp/mapfiles/ms/icons/red-dot.png', ...}, {name: 'みかん', id:'2', icons:'http://maps.google.co.jp/mapfiles/ms/icons/blue-dot.png', ...}, {name: 'なし', id:'3', icons:'http://maps.google.co.jp/mapfiles/ms/icons/ltblue-dot.png', ...}, {name: 'りんご2', id:'1', icons:'http://maps.google.co.jp/mapfiles/ms/icons/red-dot.png', ...}, {name: 'みかん2', id:'2', icons:'http://maps.google.co.jp/mapfiles/ms/icons/blue-dot.png', ...}, {name: 'なし2', id:'3', icons:'http://maps.google.co.jp/mapfiles/ms/icons/ltblue-dot.png', ...} ] for (var i = 0; i < data.length; i++) { markerLatLng = {lat: data[i]['lat'], lng: data[i]['lng']}; marker[i] = new google.maps.Marker({ position: markerLatLng, map: map, title:data.name[i], label: labels[i % labels.length], icon: data.icons[i], category: data.id[i] }); infoWindow[i] = new google.maps.InfoWindow({ content: '' }); markerEvent(i); // マーカーにクリックイベントを追加 } }); } function markerEvent(i) { marker[i].addListener('click', function() { // マーカーをクリックしたとき infoWindow[i].open(map, marker[i]); // 吹き出しの表示 }); }

知りたいこと

・categoryのオプションを追加した場合のコードの記載方法(jsとhtml)を教えていただきたいです。

・仮にcategoryのオプションを使わない場合、どのような方法であればマーカーのフィルターができるか。
→ マーカー自体にidなどが付与できればjqueryなどで要素を非表示にできるのではと思いましたが、マーカーはnew google.maps.Markerで動的に生成される為、どうやって各マーカーにid属性を付与したらわかりません。

よろしくお願い致します。

manbo2👍を押しています

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

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

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

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

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

manbo2

2020/11/01 07:27

解決しましたか? 私も同じようね問題でつまずいています、もし解決していたら教えていただきたいです!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問