1

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 回呼び出すだけでよい方法はありますか?

4

1 に答える 1