トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     google maps api for flashで複数のマーカーを設置したいのですが
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ddANDdd
Åê¹ÆNo.47493
投稿日時: 2011-6-4 23:49
新米
居住地:
投稿: 2
使用環境:
MacOSX,Flash5
google maps api for flashで複数のマーカーを設置したいのですが
初めての投稿なのでわかりずらかったら申し訳ありません。

google maps api for flashを使用して地図アプリを制作しています。
使用しているのはFlashCS5です。
環境はMacになります。


//example.xml
<?xml version="1.0" encoding="SHIFT-JIS"?>

<markers>
	<marker lat="35.65769724633269" lng="139.7019875049591" eki="渋谷駅"/>
	<marker lat="35.66515021658651" lng="139.7125232219696" eki="表参道"/>
	<marker lat="35.67028408029107" lng="139.71755504608154" eki="外苑前" />
	<marker lat="35.672768089361014" lng="139.7240674495697" eki="青山一丁目"/>
</markers>


上記のようなxmlを読み込んで地図上にに複数のマーカーを表示させたいのですが、エラーになりマーカーが表示できません。
実際のリストはかなりの量なのでfor文で処理したいのですが、ここの部分にマーカーを設置するスクリプトを書いていますがうまく機能していないようなのです。
同じ書き方でも他のイベント内に置く時はマーカーを表示してくれます。
※の所を隠すとfor文はxmlの内容をtraceできるので、xmlは読み込めてます。

ご教授願えないでしょうか?
よろしくお願いします。


ーーーエラーが起きるーーーー

//XMLを読み込む
var urlRequest:URLRequest = new URLRequest();
var xmlURL:String = "../example.xml";//読み込むxmlファイル
var urlLoader:URLLoader = new URLLoader();
var markerXML:XML;

urlRequest.url = xmlURL;
//ロード
urlLoader.load(urlRequest);


// 読み込み完了時に呼び出されるイベント
urlLoader.addEventListener (Event.COMPLETE,LoaderInfoCompleteFunc);

function LoaderInfoCompleteFunc(ev:Event) {

	markerXML = new XML(urlLoader.data);

	for(var i = 0; i < 4; i++){
		var testPos:LatLng = new LatLng(markerXML..marker[i].@lat, markerXML..marker[i].@lng);
		var markerIn:Marker = new Marker(testPos); //※
		map.addOverlay(markerIn);         //※
		trace(markerXML..marker[i].@lat, markerXML..marker[i].@lng, markerXML..marker[i].@eki);
	}
}


ーーーエラーが起きないーーー

map.addEventListener(MapEvent.MAP_READY, onMapReady);

function onMapReady(ev:Event):void {
	map.setDoubleClickMode(MapAction.ACTION_NOTHING);
	var centerPos:LatLng = new LatLng(35.66515021658651, 139.7125232219696);
	map.setCenter(centerPos, 14, MapType.NORMAL_MAP_TYPE);
	map.disableDragging();
	map.addEventListener(TransformGestureEvent.GESTURE_PAN, onPan);
	map.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onZoom);
	
	var centerOn:LatLng = new LatLng(35.65769724633269, 139.7019875049591);
	var markerCe:Marker = new Marker(centerOn);
	map.addOverlay(markerCe);
	trace(centerOn);

}
とんび
Åê¹ÆNo.47494
投稿日時: 2011-6-5 1:04
Bak@Fla大巨匠
居住地: 佐賀県 杵島郡
投稿: 275
使用環境:
MX
CS3
:Flash CS6:CS6
.7.5
Re: google maps api for flashで複数のマーカーを設置したいのですが
 エラーの内容を書かないと、回答はつきにくいんじゃないかと思います。
 あと、エラーの発生に関係のないスクリプトが沢山くっついているようにも思えます。私なんか10行越えたら、もう人のコードは読めませんので、実際どうかは分かりませんが。

 ちなみに、教授はかなり大げさな言葉なので、書くなら教示と書いた方がいいと思います。
 少なくとも私には教授するほどの覚悟も暇もありません。


----------------
鳶嶋工房

ddANDdd
Åê¹ÆNo.47495
投稿日時: 2011-6-5 3:12
新米
居住地:
投稿: 2
使用環境:
MacOSX,Flash5
Re: google maps api for flashで複数のマーカーを設置したいのですが
自己解決できました。

>tonbi さん
おっしゃる通り
質問する場合はエラー内容を書く、必要部分のみのコードにするなどすべきでした。

また、
教授×
教示○

確かにです、調べてこのような場では教示ですね。

このような場でのマナー的なものも少し覚えましたので
次回質問する場合は配慮します。

ありがとうございました。

ちなみに、なぜエラーが出ていたかですが、
「地図を表示」→「マーカーの情報を取得と設定」の順番に書いていたのですが
これを逆に「マーカーの情報を取得と設定」→「地図を表示」にしたら通りました。
この説明もあってるかどうか微妙ですが、報告までに。

なんと初歩的なもので。。。お騒がせしました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops