Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改Google地图标记子集的颜色_Javascript_Google Maps_Google Fusion Tables - Fatal编程技术网

Javascript 更改Google地图标记子集的颜色

Javascript 更改Google地图标记子集的颜色,javascript,google-maps,google-fusion-tables,Javascript,Google Maps,Google Fusion Tables,我将要开发一个Google地图应用程序,其中标记将从具有以下结构(简化)的表中填充: 信息可以存储在融合表(首选)或MySQL中。 所有标记将以红色显示在地图上。 地图旁边将有日期选择器组件,我希望创建日期在所选日期的所有标记的颜色更改为其他颜色(例如,黄色)。 有没有什么方法可以做到这一点,而不必在客户端创建所有标记,并保存对它们的引用? 可能有很多标记(超过10K,可能高达100K),所以我不确定这在客户端的效果如何(这就是为什么我更喜欢fusion表层)。编辑:没有看到您希望避免在客户端进

我将要开发一个Google地图应用程序,其中标记将从具有以下结构(简化)的表中填充:

信息可以存储在融合表(首选)或MySQL中。 所有标记将以红色显示在地图上。 地图旁边将有日期选择器组件,我希望创建日期在所选日期的所有标记的颜色更改为其他颜色(例如,黄色)。 有没有什么方法可以做到这一点,而不必在客户端创建所有标记,并保存对它们的引用?
可能有很多标记(超过10K,可能高达100K),所以我不确定这在客户端的效果如何(这就是为什么我更喜欢fusion表层)。

编辑:没有看到您希望避免在客户端进行引用。如果不创建标记,在谷歌地图上显示标记是不可能的。。。如果您遇到可伸缩性问题,您也许可以找到一种一次显示较少标记的方法


根据需要手动设置或更改图标:

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);
    }
  });
};

这可以通过GMAPSAPI通过FT层实现。有关基本信息,请参见

styles: [{
    where: "creation_date = '4/1/2013' ",
    markerOptions: {
      iconName: "small_yellow"
    }
  },
  {  // default style
    markerOptions: {
     iconName: "small_red"
  } ]
有这么多的标记,这是一条路要走

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