<div dir="auto">中川さん、みなさん<div dir="auto"><br></div><div dir="auto">喜多です。</div><div dir="auto">返信ありがとうございます。</div><div dir="auto">今回の用途だと、地理院地図のようにたくさんのレイヤを扱うことはないので、leafletのオーソドックスなmapオブジェクトの指定方法につくりかえてもいいかもしれません。</div><div dir="auto"><br></div><div dir="auto">ちょっと試してしてみます。</div><div dir="auto"><br></div><div dir="auto">また、わからなくなったら質問するかもしれませんが、そのときはよろしくお願いします。</div><div dir="auto"><br></div><div dir="auto">北海道 喜多耕一</div><div dir="auto"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016/12/26 11:10 "Takashige Nakagawa" <<a href="mailto:takashige.nakagawa@gmail.com">takashige.nakagawa@gmail.com</a>>:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">喜多さん<br>
<br>
中川です。<wbr>removeControlの引数controlが指定されてい<wbr>ませんね。<wbr>ご推察のとおりここにattributionControlが渡<wbr>っていれば解決するはずです。<br>
<br>
自分で提案しておいて何なのですが、<wbr>attributionControlをマップオブジェクトから<wbr>削除して新しいattributionControlを追加する<wbr>のはスマートな方法ではないなと思います。<br>
<br>
一番よいのは、<br>
<br>
1. マップオブジェクトの生成時にattributionContr<wbr>olのprefixオプションを空文字("")にする。<br>
2. L.<wbr>TileLayerのインスタンスを定義するときにattrib<wbr>utionというオプションを渡す。<br>
<br>
ことです。<br>
そうすれば、<wbr>attributionControlに関しては一切コーディン<wbr>グが不要(Leafletが勝手に表示を切り替えてくれます)<wbr>になるのですが、そのように改修することは可能でしょうか?<br>
<br>
<br>
2016年12月23日 0:55 喜多耕一 <<a href="mailto:kou35tochas@gmail.com">kou35tochas@gmail.com</a>>:<br>
> 中川さん みなさま<br>
><br>
> ありがとうございます。<br>
><br>
> GSI.GLOBALS.map.removeControl(<wbr>GSI.GLOBALS.map.<wbr>attributionControl);<br>
> GSI.GLOBALS.map.addControl(new L.control.attribution({<br>
>         position: 'bottomright',<br>
>         prefix:this._attribution<br>
>  }));<br>
><br>
> としても、removeControlの次の処理の、<br>
> leaflet-src.<wbr>jsの7990行目でエラーが発生します。<br>
><br>
> L.Map.include({<br>
> addControl: function (control) {<br>
> control.addTo(this);<br>
> return this;<br>
> },<br>
><br>
> removeControl: function (control) {<br>
> control.removeFrom(this); ←ここでエラー<br>
> return this;<br>
> },<br>
><br>
> 多分、<wbr>attributionControlの指定方法が間違っている<wbr>と思うのですが・・・。<br>
><br>
> 添付ファイルにエラー発生時のデバッグ画面を添付します。<br>
><br>
> attributionControlを追加することはできます<wbr>が、地図を切り替えるたびに、コントロールが増えていきます。<br>
> 申し訳ありませんが、助言をよろしくお願いします。<br>
><br>
> 北海道 喜多耕一<br>
><br>
> 2016年12月20日 17:15 Takashige Nakagawa <<a href="mailto:takashige.nakagawa@gmail.com">takashige.nakagawa@gmail.com</a>><wbr>:<br>
><br>
>> 中川です。<br>
>> すみません、最後のコード間違いがありました。<br>
>> 正しくはこちらです。<br>
>><br>
>> マップオブジェクト.removeControl(<wbr>マップオブジェクト.attributionControl);<br>
>> マップオブジェクト.addControl(L.<wbr>control.attribution({<br>
>>  prefix:"",<br>
>>     attribution:"あたらしい出典"<br>
>> }));<br>
>><br>
>> 出典明示の部品(<wbr>attribitionControlといいます)<wbr>をマップオブジェクトから削除して、<wbr>またあらたに付け加えています。<br>
>><br>
>><br>
>> 2016年12月20日 17:07 Takashige Nakagawa <<a href="mailto:takashige.nakagawa@gmail.com">takashige.nakagawa@gmail.com</a>><wbr>:<br>
>> > 喜多さん<br>
>> ><br>
>> > 中川です。<br>
>> ><br>
>> > 本当はGSI.BaseLayerをnewするときに、<wbr>下記のようにオプションで出典を指定できれば良いのですが(<wbr>18532行目あたり)、<br>
>> ><br>
>> > options.attribution = "あたらしい出典";<br>
>> ><br>
>> > コードがそうなっていないので、<br>
>> ><br>
>> > ちょっと試しに、GSI.BaseLayerの最後に<br>
>> ><br>
>> > onAdd:function(map){<br>
>> >      L.TileLayer.prototype.onAdd.<wbr>call(this,map);<br>
>> >      this._map.attributionControl.<wbr>setPrefix("");<br>
>> ><br>
>> > this._map.attributionControl.<wbr>addAttribution(this.<wbr>baseLayerList[this.<wbr>activeIndex].attribution);<br>
>> > }<br>
>> ><br>
>> > をいれてみましたが、それだと「情報リスト>ベースマップ」<wbr>でベースレイヤを変更した時に出典明示が更新されないんですね。<br>
>> ><br>
>> ><br>
>> > コードをちゃんと見たわけではないので、<wbr>ずばりの回答はできないのですが、更新したいタイミングで、<wbr>下記を行えばできます。<br>
>> ><br>
>> > マップオブジェクト.attributionControl.<wbr>setPrefix("");<br>
>> > マップオブジェクト.attributionControl.<wbr>addAttribution("前の出典");<br>
>> > マップオブジェクト.attributionControl.<wbr>addAttribution("あたらしい出典");<br>
>> ><br>
>> ><br>
>> > あるいは、前の出典を消すのが面倒ならば、下記でもできます。<br>
>> ><br>
>> > マップオブジェクト.removeControl(this._<wbr>map.attributionControl);<br>
>> > マップオブジェクト.addControl(L.<wbr>control.attribution({<br>
>> >  prefix:"",<br>
>> >     attribution:"あたらしい出典"<br>
>> > }));<br>
>> ><br>
>> > 参考になれば幸いです。<br>
>> ><br>
>> > 2016年12月20日 9:37 Nobusuke Iwasaki <<a href="mailto:wata909@gmail.com">wata909@gmail.com</a>>:<br>
>> >> 喜多さん、みなさん<br>
>> >><br>
>> >> いわさきです。<br>
>> >> 私もleaf letはよく分かってないのですが、FOSS4G<br>
>> >> TokyoでMauricioさんのハンズオンをコピーして、<wbr>作ったサンプルコードを下に公開してみます。<br>
>> >> <a href="https://jsfiddle.net/wata909/v5trzdbb/" rel="noreferrer" target="_blank">https://jsfiddle.net/wata909/<wbr>v5trzdbb/</a><br>
>> >><br>
>> >> 地理院タイルと室蘭市の空中写真を切り替えて、<wbr>出典も変わるようになっているので、参考になるかと思います。<br>
>> >><br>
>> >> 地理院地図パートナーネットワーク会議での資料が以下になります<wbr>ので、ご参考下さい。<br>
>> >> <a href="http://www.slideshare.net/wata909/foss4g-69748525" rel="noreferrer" target="_blank">http://www.slideshare.net/<wbr>wata909/foss4g-69748525</a><br>
>> >><br>
>> >> #みなさん、もっとスマートな回答がありましたら、<wbr>よろしくお願いします(汗<br>
>> >><br>
>> >> 2016年12月19日 21:23 喜多耕一 <<a href="mailto:kou35tochas@gmail.com">kou35tochas@gmail.com</a>>:<br>
>> >>> みなさま<br>
>> >>><br>
>> >>> 北海道の喜多です。<br>
>> >>><br>
>> >>> 現在、地理院地図をGithibでフォークして、<wbr>OpenStreetMapを表示できるようにカスタマイズして<wbr>います。<br>
>> >>> <a href="https://koukita.github.io/gsimaps/" rel="noreferrer" target="_blank">https://koukita.github.io/<wbr>gsimaps/</a><br>
>> >>><br>
>> >>> ここで、ベースマップを選択したときに、<wbr>右下の出典明示を更新したいと考えています。<br>
>> >>><br>
>> >>> 出典明示の表示と、<wbr>地図を変更したときの出典明示の値の取得まではできたのですが、<wbr>この値を出典明示のコントロールに代入して、<wbr>更新する方法がわかりません。<br>
>> >>><br>
>> >>> 出典明示の値は、layers0.txtの"<wbr>attribution"に値を入力しています。<br>
>> >>> その値をgsimaps.jsの18616行目「this.<wbr>setAttribution(<br>
>> >>> this._attribution);」で取得しています。<br>
>> >>><br>
>> >>> どこにどのようなコードを書けばいいのか教えていただければ助か<wbr>ります。<br>
>> >>><br>
>> >>> なにぶんJavascript初心者ですので、<wbr>よろしくお願いします。<br>
>> >>><br>
>> >>><br>
>> >>> 北海道 喜多耕一<br>
>> >>><br>
>> >>><br>
>> >>> ______________________________<wbr>_________________<br>
>> >>> OSGeoJapan-discuss mailing list<br>
>> >>> <a href="mailto:OSGeoJapan-discuss@lists.osgeo.org">OSGeoJapan-discuss@lists.<wbr>osgeo.org</a><br>
>> >>> <a href="http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss" rel="noreferrer" target="_blank">http://lists.osgeo.org/<wbr>mailman/listinfo/osgeojapan-<wbr>discuss</a><br>
>> >><br>
>> >><br>
>> >><br>
>> >> --<br>
>> >> 岩崎 亘典<br>
>> >> ______________________________<wbr>_________________<br>
>> >> OSGeoJapan-discuss mailing list<br>
>> >> <a href="mailto:OSGeoJapan-discuss@lists.osgeo.org">OSGeoJapan-discuss@lists.<wbr>osgeo.org</a><br>
>> >> <a href="http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss" rel="noreferrer" target="_blank">http://lists.osgeo.org/<wbr>mailman/listinfo/osgeojapan-<wbr>discuss</a><br>
>> ______________________________<wbr>_________________<br>
>> OSGeoJapan-discuss mailing list<br>
>> <a href="mailto:OSGeoJapan-discuss@lists.osgeo.org">OSGeoJapan-discuss@lists.<wbr>osgeo.org</a><br>
>> <a href="http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss" rel="noreferrer" target="_blank">http://lists.osgeo.org/<wbr>mailman/listinfo/osgeojapan-<wbr>discuss</a><br>
><br>
><br>
______________________________<wbr>_________________<br>
OSGeoJapan-discuss mailing list<br>
<a href="mailto:OSGeoJapan-discuss@lists.osgeo.org">OSGeoJapan-discuss@lists.<wbr>osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss" rel="noreferrer" target="_blank">http://lists.osgeo.org/<wbr>mailman/listinfo/osgeojapan-<wbr>discuss</a></blockquote></div></div>