■まずはBlogなどにSL Mapそのもの本物を貼ってみたいという場合
(こちらはハリボテではありません。地図をぐりぐり動かしてみてください)
コードは次のようになっています。
特に以前のGoolge Map仕様のようなAPIキーを必要としないので、どなたでもCopyして利用可能です
(ただし、表示するマーカーや対象のSIMなどは変更してくださいね)
■スクリプトを貼るなんて面倒だし重いし~軽さ優先にしたいなら
グローバルマップ上でのSIMの位置は変わらないので(変わったら景観が違ってしまいますね)それを利用して固定的なSIM画像の表示で画像のみ取得というのも使えそうですよ~
先のMAPそのものを表示するスクリプト部分で、SIM名からグローバル座標を取得している部分に着目してください。
これですね
これを実際にWEBブラウザーのURL部分に手打ち入力してみると分かると思いますが、このような値が返却されてきます。
var simcoords = {'x' : 1807, 'y' : 1197 };
すなわちMoshというSIMは、グローバル座標でX=1807,Y=1197の位置だということ。
(記号や空白文字を含むSIM名の指定はエンコードが必要です)
この部分だけ利用すると
このように固定的に1つのSIMの画像のみを得る事が可能です
コードはこんな感じでシンプルです
だけど、
そもそもBlogにスクリプトが貼れないんだけどーって場合でもなんとかなりますよ~
というのもグローバル座標って申請してSIMの位置お引っ越ししない限りは、ずっと同じ位置だからSecondLife内部で参照するUUIDによるSIM画像とは違って、常に同じ名前の画像URLで更新されているから固定的な名称で参照できるのです。
外部のWEB上で見るSIM画像のURLは
http://map.secondlife.com/map-1-1807-1197-objects.jpg
と言う形式で
http://map.secondlife.com/map-(Zoom倍率)-(X座標)-(Y座標)-objects.jpg
となっている固定名称なのです
(ただし"HTTPS"のプロトコルで参照しようとすると、安全でない接続とみなされてしまうのが残念ですけど・・・)
とりあえずはブログなどでのサイドバーに固定的に表示するなどでは、単なる一枚画像なのでとても有用なのでは思います。またMAP上でマーカー表示をしたければオーバレイ表示(スタイル指定で画像に画像を重ねる)として追加すれば簡単に実現できますよね。
なんか参照URLが超怪しいので不安になったりしますが
SIM名→グローバル座標として公式に公開されている機能ですので安心してください
http://wiki.secondlife.com/wiki/Map_API_Reference
http://wiki.secondlife.com/wiki/Linden_Lab_Official:Map_API_Introduction
なお、グローバル座標から該当SIM名を得るというのも同様に公開されています
★3/12追記:
単一指定の画像URLの場合、上記ではリファレンス通りに
http://map.secondlife.com/map~のサーバーを指定していますが、
これだとhttpsのプロトコルが使えない事と実際にAPIでMAP表示したときにはCDNの方が参照されているので、単一指定画像の場合に同様にCDN側を指定してもいいのかもしれません(勝手に使う訳ですからグレーゾーンですけど)
CDN側のURLだと現在はAkamaiのサービスをlindenさんは使っているので
https://secondlife-maps-cdn.akamaized.net/map~のURL形式となります。
で、このMAPのWEB表示が何の関連が?
という疑問があるかも知れませんね。
先の記事で触れた「ipほいほい」を考えてみてください。
この記事では外部WEBにてマーカー付きの地図を表示する事が趣旨ですが、表示する対象をSecondLife内からダイナミックにしたとき、どう機能するか分かりますよね。
そうです、アバターの現在位置を外部のWEBで表示するという事に繋がります。いかがわしい目的でなく、「今日はここでLIVEやってるよ~」 などの自己主張に使うといいかも。
0 件のコメント:
コメントを投稿