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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JavaScript

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

Q&A

解決済

1回答

317閲覧

YahooMap apiでlabelを表示させたい

aaas

総合スコア15

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JavaScript

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

0グッド

0クリップ

投稿2020/05/05 09:39

編集2020/05/06 00:18

実現したいこと

  1. (自己解決) yahoo map apiを使用して、map上にmarkerを設置
  2. markerをクリックした時にlabelを表示

前提

  • @shops = Shop.where("address like ?", "%#{検索ワード}%")
  • marker: 地図上のピン
  • label: markerをクリックした時にポップアップされる情報(今回は店名)

試してうまくいかなかったコード

1. labelの位置がずれる

1のmarker設置まではできました。
2のlabel表示まではできましたが、labelの位置がmarkerの場所からずれており、別の場所のmarkerをクリックしても同一箇所にmarkerが上書きされてしまいます。

例えば、以下で左上のmarkerをクリックしても、labelの位置が駅に表示されてしまいます。また、別のmarkerをクリックしても、同じ場所にlabelが表示されます。
左上のmarkerをクリックしても、labelの位置がずれる

ruby

1 <script> 2 var ymap = new Y.map({...}); 3 var markers = []; 4 5 <% if @shops.present? %> 6 <% @shops.each do |shop| %> 7 var latLng = new Y.LatLng(<%= shop.lat %>, <%= shop.lng %>); 8 var marker = new Y.Marker(latLng); 9 10 marker.bind("click", function() { 11 var label = new Y.Label(latLng, "<%= shop.name %>"); 12 ymap.addFeature(label); 13 }) 14 markers.push(marker); 15 <% end %> 16 17 ymap.addFeatures(markers); 18 ymap.drawMap(new Y.LatLng(<%= @shops.first.lat %>, <%= @shops.first.lng %>), 16); 19 <% end %> 20 </script>

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

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

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

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

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

guest

回答1

0

ベストアンサー

当該APIは2020年10月31日(土) に終了するようです。

【【重要】 YOLP Web APIにおける一部API・SDKの提供終了お知らせ - Yahoo! Open Local Platform (YOLP)】
https://map.yahoo.co.jp/promo/yolp/close_information.html


マーカーから噴出しを出すのはラベルではなく marker.bindInfoWindow のようです。

【Yahoo!地図APIでマーカーをクリックすると吹きだしを出す方法】
http://www.hanemaru.com/itemcolumn/11yolp003.html

ラベルの位置を無理やり動かすならoffsetを指定することもできるようです。

【YOLP(地図):Featureクラス - Yahoo!デベロッパーネットワーク】
https://developer.yahoo.co.jp/webapi/map/openlocalplatform/v1/js/reference/YFeature.html#Label

投稿2020/05/06 18:06

kei344

総合スコア69606

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

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

aaas

2020/05/11 12:50

わざわざ調べていただき、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問