【发布时间】:2012-01-25 09:19:04
【问题描述】:
我使用 google maps API 在地图上显示标记。
每个标记都指向地图上的一家商店。
我的问题是为每个标记创建事件处理程序,当单击给定标记时,它将显示带有商店信息的工具提示。
我使用文本输入让用户输入城市,并使用 jquery 处理附近提交按钮上的点击事件。然后我将查询发送到 php 站点,返回以下对象:
d: Object
error: false
lat: "52.3744440000"
lng: "9.7386110000"
shop: Array[2]
0: Object
address: "Addressstreet 12"
lat: "52.3761209000"
lng: "9.7387242000"
name: "Shop 1"
tel: "1234"
__proto__: Object
1: Object
length: 2
etc.
现在我使用作为城市坐标的 lat 和 lng 值来使地图居中。 然后我将 shop 数组发送到 paintShops(shops) 方法:
function paintShops(shops){
for (var i = 0; i < shops.length; i++){
kl = shops[i];
var ka = parseFloat(kl.lat);
var kb = parseFloat(kl.lng);
tel = kl.tel;
address = kl.address;
var son = new google.maps.Marker({
position: new google.maps.LatLng(ka, kb),
map: map,
title: kl.name,
clickable: true
});
google.maps.event.addListener(son, 'click', function(son, tel, address) {
displayShopTooltip(son, tel, address);
}
我的问题在上面sn-p的最后一行:当我点击标记时,displayShopTooltip的参数tel和address是未定义的。 我想知道该怎么做才能没有这个问题,或者另一种方法。 提前致谢。
【问题讨论】: