みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

xml 読み込みランダムで表示するjavascrt

XMLの、nameとgooglemapを2つ一緒にランダム表示するにはどのようにすればいいでしょうか?
<?xml version="1.0" encoding="UTF-8" ?>
<maps>
<map>
<name>五稜郭</name>
<lat>41.796864</lat>
<lng>140.756965</lng>
</map>
<map>
<name>赤レンガ倉庫</name>
<lat>41.766711</lat>
<lng>140.717783</lng>
</map>
<map>
<name>函館朝市</name>
<lat>41.772596</lat>
<lng>140.725261</lng>
</map>
</maps>

投稿日時 - 2014-10-27 14:47:50

QNo.8804742

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

大雑把に言って・・・

 1)xmlを読み込む
 2)対象をランダムに選択(1つか2つか不明ですが)
 3)マップを表示
のどこがわからないのでしょうか?


>nameとgooglemapを表示
nameはどこかに表示するにしても、googlemapを表示とは何をしたいのでしょうか?
 ・lat,lngデータを含むエリアのmapを表示する
 ・上記地図内のlat,lngの位置にnameを表示したい
 ・上記地図にマーカーなどで位置を示したい
などなどいろいろな方法が考えられます。

>2つ一緒にランダム表示
これもいろいろ解釈できます。
 ・nameとlat、lngの一組で2つ(3つだけど)として表示(地図1つ)
 ・mapタグのセットを2組表示する。(地図が二つ)
 ・一つの地図に2つのnameに対応する何かを表示したい。

それぞれで具体的なスクリプトは違うものになりますが、考え方は基本的に共通していると言えるかも。
ご質問の焦点がよくわからないので、大雑把になりますが…
1)ajaxを利用して読み込んでください。
 「ajax xml」で検索すれば例はいろいろ見つかるでしょう。
 ライブラリ等を利用すると簡単かも知れません。

2)xml中のmapタグのリスト(配列)からランダムに抜き出してください。
 「Math.random()*配列要素数」をインデックスとして選択すればよろしいかと。
 複数選択する場合は、選択する毎にその要素をリストから抜けば良い。
 2つだけなら、重複していたら再トライとかでもいいかも。

3)基本的にgoogle mapに関してはgoogleのサイトに詳しい説明があります。
 どのような表示にしたいのか不明なので、サイトの紹介にとどめますが、
 ここの内容に沿ってスクリプトを作成すればなさりたい表示になるのでは?
 https://developers.google.com/maps/documentation/javascript/reference

投稿日時 - 2014-10-31 13:58:29

ランダムにどこにどうやって表示するの?
何がしたいか詳しく書かないと回答付かないよ。

投稿日時 - 2014-10-28 07:50:12

あなたにオススメの質問