前提・実現したいこと
jQueryプラグインのimgViewer2(https://github.com/waynegm/imgViewer2)で表示するマーカーを別々の画像にしたいです。
下記のページには青いマーカーが3つ表示されていますが、
これをそれぞれ別の色(別の画像)のマーカーに設定したいのですが上手くいきません。
https://waynegm.github.io/imgViewer2/basic_note.html
該当のソースコード
<script type="text/javascript"> ;(function($) { /* *Here we extend the imgViewer widget to display markers and notes * * This can be done with a few lines of code because of the capabilities of Leaflet */ $.widget("wgm.imgNotes2", $.wgm.imgViewer2, { options: { /* *Default action for addNote callback */ addNote: function(data) { var map = this.map, loc = this.relposToLatLng(data.x, data.y); var marker = L.marker(loc).addTo(map).bindPopup(data.note+"</br><input type='button' value='Delete' class='marker-delete-button'/>"); marker.on("popupopen", function() { var temp = this; $(".marker-delete-button:visible").click(function () { temp.remove(); }); }); } }, /* *Add notes from a javascript array */ import: function(notes) { if (this.ready) { var self = this; $.each(notes, function() { self.options.addNote.call(self, this); }); } } }); $(document).ready( function() { var $img = $("#map-image").imgNotes2({ onReady: function() { var notes = [ {x: "0.5", y:"0.5", note:"test1"}, {x: "0.7", y:"0.5", note:"test2"}, {x: "0.824", y: "0.593", note: "test3"} ]; this.import(notes); } }); }); })(jQuery); </script>
試したこと
こちらのページに書いてある方法を試したところマーカーを別の画像に変えることはできたのですが、
マーカーを個別に設定するコードの書き方がわからず、全て同じ画像になってしまいます…。
https://github.com/waynegm/imgViewer2/issues/32
初歩的な質問かもしれませんが、解決法があれば回答よろしくお願いします。
<script type="text/javascript"> ;(function($) { /* *Here we extend the imgViewer widget to display markers and notes * * This can be done with a few lines of code because of the capabilities of Leaflet */ $.widget("wgm.imgNotes2", $.wgm.imgViewer2, { options: { /* *Default action for addNote callback */ addNote: function(data) { var map = this.map, loc = this.relposToLatLng(data.x, data.y); var myIcon = L.divIcon({ className: 'my-div-icon', html: data.label}); var marker = L.marker(loc, {icon: myIcon}).addTo(map).bindPopup(data.note+"</br><input type='button' value='Delete' class='marker-delete-button'/>"); marker.on("popupopen", function() { var temp = this; $(".marker-delete-button:visible").click(function () { temp.remove(); }); }); } }, /* *Add notes from a javascript array */ import: function(notes) { if (this.ready) { var self = this; $.each(notes, function() { self.options.addNote.call(self, this); }); } } }); $(document).ready( function() { var $img = $("#map-image").imgNotes2({ onReady: function() { var notes = [ {x: "0.5", y:"0.5", note:"test1"}, {x: "0.7", y:"0.5", note:"test2"}, {x: "0.824", y: "0.593", note: "test3"} ]; this.import(notes); } }); }); })(jQuery); </script>
CSS
1.my-div-icon{ 2background:url(アイコン画像) 3}
あなたの回答
tips
プレビュー