Google maps api 3 从不同的json文件获取数据

Google maps api 3 从不同的json文件获取数据,google-maps-api-3,Google Maps Api 3,我上周在上找到了这个文件mappanslow.html 知道如何从json获取数据对我来说非常有用 文件我现在正在这张地图上重新编码 我的问题呢 是指用户必须能够选择哪些数据(来自不同的 json文件)将通过在select中选择所需内容来显示 “改进者”下的框。 html可以很好地处理一个json文件,但我尝试使用 为多个json文件编写代码,如果我列出了每个示例,则为所有json文件编写代码 像这样的文件: 显示的数据始终来自最后一个(file3.json) 有人知道如何回避这个问题吗 下

我上周在上找到了这个文件mappanslow.html 知道如何从json获取数据对我来说非常有用 文件我现在正在这张地图上重新编码 我的问题呢 是指用户必须能够选择哪些数据(来自不同的 json文件)将通过在select中选择所需内容来显示 “改进者”下的框。 html可以很好地处理一个json文件,但我尝试使用 为多个json文件编写代码,如果我列出了每个示例,则为所有json文件编写代码 像这样的文件:


显示的数据始终来自最后一个(file3.json)

有人知道如何回避这个问题吗

下面是mappaslow.html中的代码:


var映射;
var超时;
var m=[];
函数init(){
map=new google.maps.map(document.getElementById('map'){
中心:新google.maps.LatLng(44.85471,-93.24185),
缩放:17,
mapTypeId:google.maps.mapTypeId.ROADMAP,
mapTypeControl:false
});
google.maps.event.addListener(映射'bounds_changed',函数(){
clearMarkers();
如果(超时){
clearTimeout(超时);
}
timeout=window.setTimeout(函数(){
添加标记();
}, 500);
});
}
函数addMarkers(){
var bounds=map.getBounds();
对于(var i=0;i

本例和my map中使用的json文件如下所示:

var标记=[
{“lat”:44.86065444748757,“液化天然气”:-93.26223975870084},
{“lat”:44.84990797511595,“液化天然气”:-93.22287578639873}];
感谢您的建议@harmlesdragon,但我希望能够通过在参数中传递所选.json的名称来指定正确的变量,因为它们的结构是相同的。比如:

函数addMarkers(jsonName){
var rightJson=jsonName;
var bounds=map.getBounds();
for(var i=0;i
有可能这样做吗?我尝试了很多方法,但总是导致语法错误或未定义的东西

别忘了目标是上面第二个链接的地图


@HarmlesDragon,我终于找到了json文件的正确语法:

var标记=[{
“文件1”:[
{“lat”:“number”,“lng”:“number”},{“lat”:“number”,“lng”:“number”},
]},{“文件2”:[
{“lat”:“number”,“lng”:“number”},{“lat”:“number”,“lng”:“number”},
]},{“文件3”:[
{“lat”:“number”,“lng”:“number”},{“lat”:number,lng:number”}
]           
}];
我注意到第一个循环识别了正确数量的“文件”。现在的问题是任何东西都会进入第二个循环:

for(var t=0;t
最新编辑:

我在这里举一个例子:

var myJSONObject={“绑定”:[
{“ircEvent”:“privmg”,“method”:“newURI”,“regex”:“^http://.*”},
{“ircEvent”:“PRIVMSG”,“method”:“deleteURI”,“regex”:“^delete.*.”,
{“ircEvent”:“PRIVMSG”,“method”:“randomURI”,“regex”:“^random.*”}
]
};
myJSONObject.bindings[0]。方法//“newURI”
您的循环应该类似于以下内容:

函数addMarkers(参数){
如果(参数=“1”){
//如果是针对文件1,则循环遍历文件1中的所有内容
对于(t=0;t
/////////////////////////////////////////////////////////////////////////////////////////

如果没有区分数据的指示符,则无法在相同名称下存储不同的数据并检索数据。如果要使用相同的变量名,则需要将该附加指示符添加到json中并合并json文件

您可以这样做:

var标记=[
文件1:{
{lat:number,lng:number},{lat:number,lng:number}等。
}
文件2:{
{lat:number,lng:number},{lat:number,lng:number}等。
}
文件3:{
{lat:number,lng:number},{lat:number,lng:number}等。
}
];
然后,为了检索数据,您需要添加另一个循环。这个json结构是一个数组..在一个数组中..在一个数组中,我认为这不是最有效的

函数addMarkers(参数){
...
对于(var i=0;i