マップ上にマーカーを表示するためにgoogle maps APIを使用します。配列値を関数パラメータとして繰り返し設定する方法
各マーカーは地図上のショップを指します。
私の問題は、各マークのイベントハンドラを作成することです。このイベントハンドラは、指定されたマークがクリックされたときにショップに関する情報をツールチップに表示します。
私はテキスト入力を使用してユーザーが街を入力できるようにし、jqueryを使用して近くの送信ボタンでclickイベントを処理します。それから私は戻って、オブジェクトを以下の取得、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.
は今、私はマップを中央に都市の座標で緯度とLNGの値を使用します。 は、その後、私は方法(店舗)paintShopsにお店の配列を送信します。
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);
}
私の問題は、上記のスニペットの最後の行にある:私はマークをクリックすると、displayShopTooltipのパラメータTELと住所があります未定義。 私はこの問題がないようにするために何をすべきか、あるいは別の方法を知りたいと思います。 ありがとうございます。
ありがとう、それは完璧な解決策です。そして今、間違いを間違って宣言して私の間違いを認識しました。 – Jakub