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