0

Googleマップアプリケーションを開発しようとしています。このアプリケーションでは、次の構造(簡略化)でテーブルからマーカーが入力されます。

marker_id (INT)
label (TEXT)
latitude (FLOAT)
longitude (FLOAT)
creation_date (DATE/TIME)

情報は、Fusionテーブル(推奨)またはMySQLに保存できます。すべてのマーカーが地図上に赤で表示されます。マップの横に日付ピッカーコンポーネントがあり、creation_dateが選択した日付にあるすべてのマーカーの色を他の色(たとえば黄色)に変更したいと思います。クライアント側ですべてのマーカーを作成し、それらへの参照を保存せずにこれを行う方法はありますか?多くのマーカー(10K以上、おそらく100Kまで)が存在する可能性があるため、これがクライアント側でどの程度うまく機能するかはわかりません(これがフュージョンテーブルレイヤーを好む理由です)。

4

2 に答える 2

1

これは、GMapsAPIを介してFTレイヤーで実行できます。基本については、APIドキュメントを参照してください。

styles: [{
    where: "creation_date = '4/1/2013' ",
    markerOptions: {
      iconName: "small_yellow"
    }
  },
  {  // default style
    markerOptions: {
     iconName: "small_red"
  } ]

非常に多くのマーカーがあるので、FTが最適です。

于 2013-04-01T20:52:49.357 に答える
0

編集:クライアント側での参照を避けたいとは思わなかった。マーカーを作成せずにグーグルマップにマーカーを表示することは不可能です...おそらくスケーラビリティの問題が発生した場合、一度に表示するマーカーの数を減らす方法を見つけることができます


必要に応じて、アイコンを手動で設定または変更します。

var redIcon = {
  url:'/icons/redIcon.png',
};

var yellowIcon = {
  url:'/icons/yellowIcon.png',
};

// Populate some data structure to associate pins with data
var dataPlusMarkers = [
{ data: 99,  pin: new google.maps.Marker(...) },
{ data: 200, pin: new google.maps.Marker(...) }
];

function setColors(){
  dataPlusMarkers.forEach(function(one){
    if(one.data > 100){ 
      one.pin.setIcon(yellowIcon);
    } else {
      one.pin.setIcon(redIcon);
    }
  });
};
于 2013-03-27T13:53:43.327 に答える