Интеграция Google Map с маркерами из HTTP-запроса Javascript - PullRequest
0 голосов
/ 19 января 2012

Привет! Я использую appcelerator и хочу интегрировать карту с массивом маркеров, которые я получаю из HTTPRequest ... Я просто потерян, полностью потерян.

Вот как выглядит карта:

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 

   })

Кто-нибудь знает, как интегрировать это? Я думаю, что я должен построить карту в той же функции, что и маркеры, но я попробовал несколько вариантов и не нашел НИКАКОГО примера этого в сети. Любая подсказка будет очень ценится. Заранее спасибо.

1 Ответ

0 голосов
/ 26 января 2012

Если все, что у вас есть, это адрес, вам нужно будет перенаправить геокодирование этих адресов, чтобы получить координаты широты / долготы.Эти координаты необходимы для размещения аннотаций на карте.Проверьте документы в forwardGeocoder () .Есть пример в KitchenSink

...