このcreateMarker
関数は、実際にはプレーン テキスト タイトルのマーカー用に設計されています。link (URL)、address、およびphoneという追加情報に対応するように、その関数を変更することをお勧めします。
myTitle
情報ウィンドウとホバー テキスト (タイトル)の両方に同じものを使用する代わりにcontentString
、指定されたタイトル、リンク、アドレス、および電話番号に基づいて、関数内で HTML マークアップを作成する必要があります。createMarker
関数は次のようになります。
function createMarker(latlng, myTitle, myLink, myAddress, myPhone, myNum, myIcon) {
var contentString = '<a style="font-family: Arial" href="' +
myLink + '" target="_blank">' + myTitle +
'</a><br><span style="font-size: 12px; font-family: Arial;">ADDRESS<br> ' +
myAddress + '<br>PHONE<br>' + myPhone + '</span>';
var marker = new google.maps.Marker({
position: latlng,
map: map,
icon: myIcon,
zIndex: Math.round(latlng.lat() * -100000) << 5,
title: myTitle,
});
// ...
関数の呼び出しを更新して、正しい引数を渡す必要があります。
createMarker(new google.maps.LatLng(locations[i][4], locations[i][5]), locations[i][0], locations[i][1], locations[i][2], locations[i][3], locations[i][6], locations[i][7]);
location[i][0]
場所の名前/タイトルです
location[i][1]
リンクです
location[i][2]
住所です
location[i][3]
電話番号です
location[i][4]
はその場所の緯度です
location[i][5]
場所の経度です
location[i][6]
(実際にはmyNum
どこでも使用されていません)
location[i][7]
マーカーアイコンへのURLです
これで、データ ソースをよりきれいにエンコードできるようになりました。例えば:
var locations = [
//====================== ZONE 1 MUSEUMS ==========================
//THE MENIL COLLECTION
['The Menil Collection', 'http://www.mfah.org/', 'Houston TX 77006', '(713) 639-7300', 29.737593,-95.398525, 1, 'http://www.conleym.com/map/icons/world.png'],
//ROTHKO CHAPEL
['Rothko Chapel', 'http://www.mfah.org/', 'Houston, TX 77006', '(713) 639-7300', 29.737822,-95.395725, 2, 'http://www.conleym.com/map/icons/world.png'],
//HOUSTON CENTER for PHOTOGRAPY
['Houston Center for Photography', 'http://www.mfah.org/', 'Houston, TX 77006', '(713) 639-7300', 29.738606,-95.397179, 3, 'http://www.conleym.com/map/icons/world.png'],
// and so on...
];
デモ: 前と後