0

私はマップ API の JavaScript と v3 を使用して、Fusion Table からデータを取得しています。特定のポイントにいくつかのカスタム マーカーを正常に追加しましたが、作成したマーカーを「アイコン」と呼ばれる表の列から指定されたアイコンに「デフォルト」に設定しようとしています。私はフュージョン テーブル レイヤーを使用していませんが、データから for ループでマーカーを作成しています。私のテーブルのアイコン列には、「poi」、「star」などのエントリがあります...

名前文字列を使用して、フュージョン テーブル レイヤーのような「デフォルト」アイコンを取得する方法はありますか? または、スクリプトでそれらへのパスを定義できるように、デフォルトのフュージョン テーブル アイコン (POI やスターなど) の絶対位置を見つけることができる場所を知っている人はいますか?

ここにいくつかのコード例があります。誰かがGoogleのアイコンの絶対URLを知っているなら、「アイコン」列の文字列に基づいてそれを入力する関数を書くことができます.

      //if there's an image, use it as marker, else use default      
  if(row[3] != ''){
      // Create the marker
      var marker = new google.maps.Marker({
        map: map, 
        position: coordinate,
        icon: new google.maps.MarkerImage(row[3])
      });      
  } else {
      // Create the marker
      var marker = new google.maps.Marker({
        map: map, 
        position: coordinate

        //icon: row[2] (row[2] is the Icon column. 
        // I'm assuming I'll just need a conditional to check
        // for the name (such as 'poi') and then to put in the absolute URL for each respectively
        // the problem is I don't know the absolute URL's for these icons. Thanks.
      });
        }
4

1 に答える 1

1

私はほぼこれとまったく同じプロセスを実行しようとしていました。ただし、私が行ったのは、フュージョン テーブルの列にマーカーを説明するだけだったので、あなたの場合、それは「ポイ」、「スター」などになります。私のものは「写真」、「ビデオ」、「歌」でした。 " 次に、次のようにコーディングします。

  var image = new google.maps.MarkerImage('img/CF_Orange.png',
  new google.maps.Size(25, 25),
  new google.maps.Point(0,0),
  new google.maps.Point(12.5,12.5));

  var image2 = new google.maps.MarkerImage('img/CF_Purple.png',
  new google.maps.Size(25, 25),
  new google.maps.Point(0,0),
  new google.maps.Point(12.5,12.5));

  var image3 = new google.maps.MarkerImage('img/CF_Green.png',
  new google.maps.Size(25, 25),
  new google.maps.Point(0,0),
  new google.maps.Point(12.5,12.5));

if(row[5] == 'photo'){
  var marker = new google.maps.Marker({
    map: map, 
    position: coordinate,
    icon: image
  });      
} else if(row[5] == 'video'){
  var marker = new google.maps.Marker({
    map: map, 
    position: coordinate,
    icon: image2
  });
} else {
  var marker = new google.maps.Marker({
    map: map, 
    position: coordinate,
    icon: image3
  });
    }
于 2011-07-19T12:34:05.063 に答える