2012-01-19 15 views
0

こんにちは、私はappceleratorを使用しています。私はHTTPRequestから取得しているマーカーの配列をマップに統合したいと考えています... 私は完全に失われています。Google MapとHTTPrequest Javascriptのマーカーを統合

これは、マップがどのように見えるかです:だからよ、マーカーを作成し、追加の注釈セクションに...

var mapview = Titanium.Map.createView({ 
    mapType: Titanium.Map.STANDARD_TYPE, 
    region: {latitude:33.74511, longitude:-84.38993, 
      latitudeDelta:0.01, longitudeDelta:0.01}, 
    animate:true, 
    regionFit:true, 
    userLocation:true, 
    annotations:[mountainView] 
}); 

そして、私はハードコードされた1つのマーカーの例を持っている

var mountainView = Titanium.Map.createAnnotation({ 
    latitude:37.390749, 
    longitude:-122.081651, 
    title:"Appcelerator Headquarters", 
    subtitle:'Mountain View, CA', 
    pincolor:Titanium.Map.ANNOTATION_RED, 
    animate:true, 
    leftButton: '../images/appcelerator_small.png', 
    myid:1 // CUSTOM ATTRIBUTE THAT IS PASSED INTO EVENT OBJECTS 
}); 

それはマップには、ここでは、私はこのからマーカーを取得していることです:

var url = "http://myURLwithMyParameters"; 
var xhr = Ti.Network.createHTTPClient({ 
    onload: function(e) { 
     // this function is called when data is returned from the server and available for use 
     // this.responseText holds the raw text return of the message (used for text/JSON) 
var result = this.responseText; 
var xml = Ti.XML.parseString(result); 
var items = xml.documentElement.getElementsByTagName("marker"); 

var name = xml.documentElement.getElementsByTagName("name"); 
var value = xml.documentElement.getElementsByTagName("address"); 

var data = []; 

for (var i=0;i<items.length;i++) { 
    data.push({ 
     name: items.item[i].getElementsByTagName("name")[0].textContent, 
     address: items.item[i].getElementsByTagName("address")[0].textContent 

    }) 

いずれかのこれを統合する方法を知っていますか? 私はマーカーと同じ機能でマップを構築する必要があると思うが、私はいくつかのオプションを試してみたが、この例はウェブで見つからなかった。 何か手がかりをいただければ幸いです。 ありがとうございます。

+0

あなたのデータ配列はデータで満たされていませんか?それが空の場合は、配列をoutload関数の外側に定義します。 –

+0

なぜデータから名前とアドレスだけを取得していますか?データ配列にプッシュする各アイテムの緯度と経度はどこで取得していますか? – andresf

答えて

0

住所がすべてある場合は、緯度/経度座標を取得するためにそれらの住所をジオコードで転送する必要があります。これらの座標は、地図上に注釈を配置する必要があります。ドキュメントをforwardGeocoder()にチェックしてください。 KitchenSink