【发布时间】:2011-07-14 14:31:54
【问题描述】:
我的代码有一些问题,我在 sql 数据库中有一个机场列表,我想为这些机场中的每一个创建标记。
对于我获得每个机场的 ICAO 代码的地址,每个机场的 ICAO 都是唯一的
我从数据库中获取数据作为数组
它通过拆分函数保存在“temp”中,并通过for循环将它们一一对应
地理编码不是问题,但我不知道为什么 TITLE 和点击事件 它始终是使用的数组中的最后一个。
这里是页面,数据库中的最后一个条目是ZBAA。
所有标记都放置在正确的位置,但标题是错误的:s
http://mizar.lte.lu/~pr1011_meteo/projet/cartemonde4.php
我认为问题在于“地址”,但我不确定。
for (var i = 0; i < temp.length; ++i){
var address=temp[i];
geocoder.geocode({ 'address': address}, function(results){
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location,
title:address
});
google.maps.event.addListener(marker, 'click', function() {
window.open ('infomonde.php?icao='+address+'&language=fr', 'Informations météo', config='height=400, width=850, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no')});
});
};
【问题讨论】:
-
它必须与你传递给
address=temp[i]的 i 一起做,好像你需要做一个闭包并传入address但如果不放一个 jsfiddle 演示,我不能确定 -
你介意为地址/临时数组提供一些虚拟字段吗?
-
关闭是怎么回事?你对虚拟字段是什么意思?如果您的意思是我已经尝试过输入一些错误的条目并且地理编码失败^^
-
@user657848 查看我的示例并探索演示。如果您有任何问题,请告诉我,并随时发表评论
标签: javascript google-maps google-maps-api-3 closures geocoding