将Google Map与HTTPrequest Javascript中的Markers集成

Integrate Google Map with Markers from HTTPrequest Javascript

本文关键字:中的 Markers 集成 Javascript HTTPrequest Google Map      更新时间:2023-09-26

嗨,我正在使用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 
   })

有人知道如何整合这个吗?我想我必须用与标记相同的功能来构建地图,但我已经尝试了几个选项,但在网上没有找到任何这样的例子。任何线索都将不胜感激。提前谢谢。

如果你只有一个地址,你需要对这些地址进行地理编码,以获得纬度/经度坐标。这些坐标是在地图上放置注释所必需的。查看forwardGeocode()上的文档。KitchenSink 中有一个例子