我目前有從我的數據庫返回的數據並已存儲在XMLList中。在數據庫的結果處理程序中有一個將標記放置在Google Map上的循環,其中自定義圖標取決於類型。當我點擊標記時,它會打開一個信息窗口並顯示來自XMLList的包含數據的HTML。我也希望點擊標記將數據傳遞給我擁有的標籤,但我似乎無法做到。 超過這個功能我已經聲明如下: var dict=new flash.utils.Dictionary();
Adobe Flex:從XMLList訪問特定字段
下面的代碼我到目前爲止:
protected function getBusiness_resultHandler(event:ResultEvent):void { var xml:XML = new XML(event.result as String); testList = xml.user;
for (var i:int=0; i<testList.length(); i++)
{
if (testList[i].type=="Hotel")
{
var bm:Bitmap = new Hotel as Bitmap;
}
else
{
var bm:Bitmap = new Hostel as Bitmap;
}
var html:String = "<b>" + testList[i].name + "</b><br/>" + testList[i].street + "<br/>" + testList[i].city + "<br/>" + testList[i].country + ", " + testList[i].postcode;
var testMarker:Marker = new Marker(new LatLng(testList[i].latitude,testList[i].longitude),
new MarkerOptions({icon:bm, iconOffset: new Point (-23, -44)}));
testMarker.addEventListener(MapMouseEvent.CLICK, function(e:MapMouseEvent):void {
Marker(e.currentTarget).openInfoWindow(new InfoWindowOptions({contentHTML:dict[e.currentTarget]}));
});
dict[testMarker] = html;
Map.addOverlay(testMarker);
}
}
該代碼工作,它只是允許我以顯示基於所有標記在他們的緯度/經度上,然後當我點擊標記時,它會正確顯示信息。在點擊函數中,我添加了testLabel.text = testList.name;
,它返回了所有的XML標籤,但我不知道如何訪問特定的標籤。我試過testLabel.text = testList[i].name;
,它給出了一個錯誤,說Error #1010: A term is undefined and has no properties
。我也嘗試過testLabel.text = testList[e.currentTarget].name
,在我的標籤中什麼也沒有顯示出來。
我只是不明白當我點擊標記時,如何訪問信息窗口的XML數據,但不是標籤。我不完全理解字典,但如果它意味着它只能使用一次,並且我必須在信息窗口之間進行選擇並將該函數返回給標籤,那麼我需要它去標籤。 我真的在這裏掙扎,所以我很感激任何幫助。
請附上XML數據 – roflmao
那麼有沒有XML文件,但PHP寫XML作爲它來自數據庫返回它看起來是這樣的:? 我不會輸入了這一切,但你的想法。 –
user1077544