Google マップ ビジュアライゼーションの作成。現在、Google の URL を使用して色付きのマーカーをプルダウンする API を使用しています。ベース URL はhttp://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2| です。
ここから、この URL にカラー コードを次のように添付できます。 http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|008000
これらを何らかのタイプの javascript 変数に保存して、マーカーごとに 100 回ではなく、この URL を 1 回だけ呼び出す必要があるようにします。
動作しない現在のコード。
var highPin = http: //chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|008000;
var lowPin = http: //chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|FFFF00;
var medPin = http: //chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|FE7569;
balloons[1] = {
center: new google.maps.LatLng(67.1679, 18.3974),
id: 1,
pin: highPin,
addr: '00602',
txt: 'stuff'
};
var bInfo = new google.maps.InfoWindow();
for (i in balloons) {
var balloonOptions = {
map: map,
id: balloons[i].id,
position: balloons[i].center,
icon: balloons[i].pin,
infoWindowIndex: i
};
bMarker = new google.maps.Marker(balloonOptions);
google.maps.event.addListener(bMarker, 'click', (function (bMarker, i) {
return function () {
if (bInfo) {
infoWindow.close();
tInfo.close();
bInfo.close();
}
bInfo.setContent(balloons[i].txt);
bInfo.setPosition(balloons[i].center);
bInfo.open(map);
}
})(bMarker, i));
}
これで問題は解決したようです。
var highPin = 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|008000';
var lowPin = 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|FFFF00';
var medPin = 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|FE7569';
しかし、URL はまだピンごとに呼び出されていると思います。このアクションを実行し、URL を 1 回呼び出すだけでよい方法はありますか?