地図蔵 ▷ 2012年までの記事「動的にマップを生成する」

動的にマップを生成する

(2012年7月11日)

おぼえがき。次のようなXMLがあるとき、

<markers>
<marker id="001" lat="35.454223" lng="139.582691" label="保土ケ谷" />
<marker id="002" lat="35.454713" lng="139.460822" label="大和引地台" />
.........
<marker id="011" lat="35.386396" lng="139.493043" label="俣野・横浜薬大" />
<marker id="012" lat="35.304445" lng="139.171742" label="小田原" />
</markers>

simplexml_load_file でこれにアクセスし、いったん配列に収納

$file = "avocado.xml";
$root = simplexml_load_file($file);
$aguacate = array();
foreach ($root->marker as $palta) {
 .......
 array_push ($aguacate, (string)$palta['id']);
}

動的にページを生成(例:多数の店舗マップを個別に表示)する場合などで、特定の要素のみ抜き出す必要があります。
この配列を in_array 関数を用いて振り分けることで、属性(例では id)ないしその値が存在しない場合の対応ができました(サンプル。URL のパラメータで変わります)。

・・・しかし、何か回りくどくてムダなことをしている気がしてなりません。