[OSGeoJapan-discuss] 地理院地図で出典明示を選択した地図で更新したい
Takashige Nakagawa
takashige.nakagawa @ gmail.com
2016年 12月 20日 (火) 00:15:00 PST
中川です。
すみません、最後のコード間違いがありました。
正しくはこちらです。
マップオブジェクト.removeControl(マップオブジェクト.attributionControl);
マップオブジェクト.addControl(L.control.attribution({
prefix:"",
attribution:"あたらしい出典"
}));
出典明示の部品(attribitionControlといいます)をマップオブジェクトから削除して、またあらたに付け加えています。
2016年12月20日 17:07 Takashige Nakagawa <takashige.nakagawa @ gmail.com>:
> 喜多さん
>
> 中川です。
>
> 本当はGSI.BaseLayerをnewするときに、下記のようにオプションで出典を指定できれば良いのですが(18532行目あたり)、
>
> options.attribution = "あたらしい出典";
>
> コードがそうなっていないので、
>
> ちょっと試しに、GSI.BaseLayerの最後に
>
> onAdd:function(map){
> L.TileLayer.prototype.onAdd.call(this,map);
> this._map.attributionControl.setPrefix("");
> this._map.attributionControl.addAttribution(this.baseLayerList[this.activeIndex].attribution);
> }
>
> をいれてみましたが、それだと「情報リスト>ベースマップ」でベースレイヤを変更した時に出典明示が更新されないんですね。
>
>
> コードをちゃんと見たわけではないので、ずばりの回答はできないのですが、更新したいタイミングで、下記を行えばできます。
>
> マップオブジェクト.attributionControl.setPrefix("");
> マップオブジェクト.attributionControl.addAttribution("前の出典");
> マップオブジェクト.attributionControl.addAttribution("あたらしい出典");
>
>
> あるいは、前の出典を消すのが面倒ならば、下記でもできます。
>
> マップオブジェクト.removeControl(this._map.attributionControl);
> マップオブジェクト.addControl(L.control.attribution({
> prefix:"",
> attribution:"あたらしい出典"
> }));
>
> 参考になれば幸いです。
>
> 2016年12月20日 9:37 Nobusuke Iwasaki <wata909 @ gmail.com>:
>> 喜多さん、みなさん
>>
>> いわさきです。
>> 私もleaf letはよく分かってないのですが、FOSS4G
>> TokyoでMauricioさんのハンズオンをコピーして、作ったサンプルコードを下に公開してみます。
>> https://jsfiddle.net/wata909/v5trzdbb/
>>
>> 地理院タイルと室蘭市の空中写真を切り替えて、出典も変わるようになっているので、参考になるかと思います。
>>
>> 地理院地図パートナーネットワーク会議での資料が以下になりますので、ご参考下さい。
>> http://www.slideshare.net/wata909/foss4g-69748525
>>
>> #みなさん、もっとスマートな回答がありましたら、よろしくお願いします(汗
>>
>> 2016年12月19日 21:23 喜多耕一 <kou35tochas @ gmail.com>:
>>> みなさま
>>>
>>> 北海道の喜多です。
>>>
>>> 現在、地理院地図をGithibでフォークして、OpenStreetMapを表示できるようにカスタマイズしています。
>>> https://koukita.github.io/gsimaps/
>>>
>>> ここで、ベースマップを選択したときに、右下の出典明示を更新したいと考えています。
>>> 出典明示の表示と、地図を変更したときの出典明示の値の取得まではできたのですが、この値を出典明示のコントロールに代入して、更新する方法がわかりません。
>>>
>>> 出典明示の値は、layers0.txtの"attribution"に値を入力しています。
>>> その値をgsimaps.jsの18616行目「this.setAttribution( this._attribution);」で取得しています。
>>>
>>> どこにどのようなコードを書けばいいのか教えていただければ助かります。
>>>
>>> なにぶんJavascript初心者ですので、よろしくお願いします。
>>>
>>>
>>> 北海道 喜多耕一
>>>
>>>
>>> _______________________________________________
>>> OSGeoJapan-discuss mailing list
>>> OSGeoJapan-discuss @ lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>>
>>
>>
>> --
>> 岩崎 亘典
>> _______________________________________________
>> OSGeoJapan-discuss mailing list
>> OSGeoJapan-discuss @ lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
OSGeoJapan-discuss メーリングリストの案内