« Yahoo Mapのポップアップ(popup)の表示崩れ | メイン | Yahoo!地図情報への移行(Yahoo Maps上にルート&山データ表示) »

2007年02月14日

Yahoo MapのaddIconsメソッドのサンプル

Yahoo!地図情報のAPI(Yahoo Maps API)での開発メモを引き続き。

アイコンをaddIconメソッドで一個一個設置していると表示が非常に重くなるので、1月から新たに追加された
addIcons(ary)
メソッドを使ってみました。

リファレンスマニュアル によると

複数のアイコンを追加します。 パラメータ: * ary - アイコン情報が格納された配列 引数aryは配列になっており、1つの要素が1つのアイコンを表します。 配列の1つの要素は以下のような JSON オブジェクトになっています。 {id:'icon1',pos:'35.40.39.798,139.46.15.436',popup:'ポップアップ',type:'L1',label:'ラベル'} JSONオブジェクトのそれぞれのパラメータの仕様については、 addIcon()メソッドを参照してください。

となっています。
JSONオブジェクトなるものの配列らしいのですが、Googleで検索してもサンプルコードもないし適当に実装してみてもぜんぜん動きません。

試行錯誤したところ
var Ymap = new YahooMapsCtrl("maparea1", "35.40.39.798,139.46.15.436", 3);
var icons = [{id:'icon1',pos:'35.40.39.798,139.46.15.436',popup:'ポップアップ',type:'L1',label:'ラベル'}];
Ymap.addIcons(icons);
と、角括弧でくくるようです。(あたりまえか)




複数表示させる場合は
var Ymap = new YahooMapsCtrl("maparea2", "35.40.39.798,139.46.15.436", 3);
var icons = [{id:'icon1',pos:'35.40.39.798,139.46.15.436',popup:'ポップアップ1',type:'L1',label:'ラベル1'}.{id:'icon2',pos:'35.40.39.0,139.46.15.0',popup:'ポップアップ2',type:'L2',label:'ラベル2'}];
Ymap.addIcons(icons);
と、角括弧の中にJSON形式のデータを並べればちゃんと2つ表示されました。



Web Services by Yahoo! JAPAN

人気blogランキング
投稿者 matoyan : 2007年02月14日 00:35

コメント

コメントしてください




保存しますか?