Google maps api 3 时间地图和地图行动地理代码

Google maps api 3 时间地图和地图行动地理代码,google-maps-api-3,Google Maps Api 3,我在调用远程操作和将JSON数据转换为Timemap所需的数据格式时遇到问题 数据集的类型值应该是什么:“远程”还是“jsonp” 远程URL中的回调是什么?需要吗 在转换方法中,我拥有的数据只有地址(没有lat-lon值),如何将此地址转换为lat-lon值?有mapstraction的例子吗?我不想用mapstraction或google v3 map创建另一个地图 代码段: tm = TimeMap.init({ mapId: "map",

我在调用远程操作和将JSON数据转换为Timemap所需的数据格式时遇到问题

  • 数据集的类型值应该是什么:“远程”还是“jsonp”
  • 远程URL中的回调是什么?需要吗
  • 在转换方法中,我拥有的数据只有地址(没有lat-lon值),如何将此地址转换为lat-lon值?有mapstraction的例子吗?我不想用mapstraction或google v3 map创建另一个地图
代码段:

tm = TimeMap.init({
        mapId: "map",               // Id of map div element (required)
        timelineId: "timeline",     // Id of timeline div element (required) 
        datasets: [
            {
                id: "fdmdata",
                title: "FDM Data",
                theme: "green",
                type: "remote", // or is it type: "jsonp"
                options: {    
                    //query: fdmMapQuery,
                    url: "loadFdmMapData.ge?" +
                    "orderby=starttime&sortorder=ascending&callback=?",
                    preloadFunction: preloadData,                        
                    transformFunction: transformData,
                }
            },
        ],
        bandInfo: [    
            {
                     width:          "85%", 
                     intervalUnit:   Timeline.DateTime.MONTH, 
                     intervalPixels: 200,
                     theme:          theme
            },
            {
                     width:          "15%", 
                     intervalUnit:   Timeline.DateTime.DAY, 
                     intervalPixels: 300,
                     overview:       true
            }
        ]
    });
});


function transformData(data) {      
    var title, description, start, end, lat, lon, infoHtml;
    var newData = {
        "title" : title,
        "start" : start,
        "end" : end,
        "options" : {
            "description" : description
        }
    };
    newData["point"] = {
       "lat" : lat,
        "lon" : lon
    };            
    newData["options"]["infoHtml"] = infoHtml;
    return newData;
}

function preloadData(result) {
    var entries = (result.feed.entry);
    var events = [];
    // delete events without geotags
    for (var x=0; x<entries.length; x++) {
        entry = entries[x];
        var location = entry['gd$where'][0].valueString;
        var pattern = new RegExp(/@\s*([\-0-9.]+)\s*,\s*([\-0-9.]+)\s*/);
        var matches = pattern.exec(location);
        if (matches != null) events.push(entry);
    }
    return events;
}    
tm=TimeMap.init({
mapId:“map”//map div元素的Id(必需)
timelineId:“timeline”//timeline div元素的Id(必需)
数据集:[
{
id:“fdmdata”,
标题:“FDM数据”,
主题:“绿色”,
类型:“remote”,//还是类型:“jsonp”
选项:{
//查询:fdmMapQuery,
url:“loadFdmMapData.ge?”+
“orderby=starttime&sortorder=升序&callback=?”,
预加载功能:预加载数据,
transformFunction:transformData,
}
},
],
波段信息:[
{
宽度:“85%”,
intervalUnit:Timeline.DateTime.MONTH,
间隔时间:200,
主题:主题
},
{
宽度:“15%”,
intervalUnit:Timeline.DateTime.DAY,
间隔时间:300,
概述:正确
}
]
});
});
函数转换数据(数据){
变量标题、描述、开始、结束、lat、lon、infoHtml;
var newData={
“头衔”:头衔,
“开始”:开始,
“结束”:结束,
“选择”:{
“描述”:描述
}
};
新数据[“点”]={
“lat”:lat,
“lon”:lon
};            
新数据[“选项”][“infoHtml”]=infoHtml;
返回新数据;
}
函数预加载数据(结果){
var条目=(result.feed.entry);
var事件=[];
//删除不带地理标记的事件
对于(var x=0;x旧问题,但:

  • 您可能希望loader
    类型:“jsonp”
    类型:“json”
    “remote”
是所有异步加载程序的抽象基础。如果您只是加载本地json,而不是从启用jsonp的服务器加载,请使用
“json”

  • 远程URL中的回调是JSONP工作方式的一部分。有关更多信息,请参阅
    dataType
    参数。回调名称将由Timemap.js(使用jQuery)自动生成-您不必担心回调函数,但如果使用JSONP,则需要在URL中包含该参数

  • 将地址字符串转换为lat/lon称为地理编码,而不是内置于Timemap.js中。通常,在将数据加载到Timemap之前,您需要将数据预处理为地理编码地址-有各种在线工具和API可以为您做到这一点