スレッド:ルートの切り替え
ルートの切り替え 投稿者:よし 投稿日:2016/01/16(Sat) 14:53:30 No.761
サンプルを利用させていただき、ホームページに地理院地図とアイコンを表示させることができました。ありがとうございました。
質問ですが、ベース地図を切り替えるようにルートデータを切り替えることは可能でしょうか?もしできるようであれば方法を教えていただきたく、よろしくお願いいたします。
Re: ルートの切り替え 投稿者:あにねこ 投稿日:2016/01/16(Sat) 20:38:42 No.762
よしさん、こんばんは。
ルートデータが複数ある場合、別々のレイヤーに読み込めば、
それぞれのレイヤーの表示を独立してon/offできます。
ルートデータを読み込んでレイヤーに加える JavaScript の個所は次のようになっています。

var kmlLayer = new OpenLayers.Layer.Vector(
'GPSデータ',     ←(1)
{
projection: proj_4326,
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: param.url,     ←(2)
format: new OpenLayers.Format.KML({
extractStyles: true,
extractAttributes: true,
maxDepth: 2
})
})
});
map.addLayer(kmlLayer);     ←(3)

kmlLayer という変数名でレイヤーを作成して、(2)で指定されるKMLデータを乗せ、
(3)でレイヤーを表示します。(1)で切り替えの際のレイヤー名を指定します。
レイヤーは好きな数だけ持てるので、ルートデータ毎にレイヤーを作成すれば
表示を独立して on/off できます。表示するルートデータを常に一つにしたい
場合は、上記に加えてちょっと工夫が必要になると思います。
とりあえずこのような回答で参考になりますでしょうか。
Re^2: ルートの切り替え 投稿者:よし 投稿日:2016/01/18(Mon) 17:26:19 No.763
返信ありがとうございます。
「ちょっとした工夫」以外はなんとなく理解できそうですのでやってみます。
あにねこさんのサンプルが簡単に表示できたのをいいことに、プチモンテさんのところにあった、
中心十字クロス表示
緯度経度表示
を取り入れられるように取り組んでいますが、まだ全くそのように動きません(^^;。がんばってやってみます。
Re^2: ルートの切り替え 投稿者:よし 投稿日:2016/01/21(Thu) 06:18:54 No.764
> ルートデータが複数ある場合、別々のレイヤーに読み込めば、
> それぞれのレイヤーの表示を独立してon/offできます。

追加のレイヤーを非表示で追加するところまでできましたが、追加したレイヤーだけを表示させたときにXボタンが動作しませんでした。何もないところをクリックすると消えます。イベントを別にしたりもしてみましたが、同じでした。最初のレイヤーのXボタンは動作します。
何か情報はありますでしょうか。

中心の緯度経度表示はできるようになりました。
Re^3: ルートの切り替え 投稿者:あにねこ 投稿日:2016/01/21(Thu) 07:21:44 No.765
よしさん、おはようございます。
Xボタンというのは、シンボル画像をクリックして
ポップアップする小窓を消すための右上のボタンのことよろしいでしょうか。
ポップアップの小窓を開いたり閉じたりするには、
イベントの処理も追加しないといけないと思いますが、
この辺りは実際にやってみたことがないので、
済みませんが調べてみないとわかりません。

- WebForum -