如何更改Google地图上所有地块上的标记图标?

时间:2015-01-21 06:13:49

标签: javascript google-maps google-maps-api-3

我希望有一张地图可以在选择单选按钮时更改所有标记图标(在特定类别中)。

例如,有一个带有年份的单选按钮列表,当选择一年时,会更改所述类别中每个城市的标记。

example

我已经查找了单独的Google Maps API或Google Fusion Tables或任何处理Google Maps API的javascript插件的示例,但到目前为止,我找不到任何示例。

2 个答案:

答案 0 :(得分:-1)

创建制作者

Paris = new google.maps.Marker({...})

选择活动

Paris.setIcon()

答案 1 :(得分:-2)

有几种方法可以做到这一点。下面是一个示例,其中包含一系列标记和颜色数组,具体取决于所选年份。

您可以/应该将这些颜色与标记一起存储(例如,在数据库中)。

基本上,您需要将每个标记推送到一个数组,以便您可以循环遍历它们并在需要时应用更改。

// Your array of markers
var latLngs = [
    new google.maps.LatLng(40.7, -74),
    new google.maps.LatLng(40.8, -73),
    new google.maps.LatLng(40.9, -72),
    new google.maps.LatLng(41, -71)
];

// Your arrays of colors (for each year)
var colors1 = ['red', 'blue', 'yellow', 'green'];
var colors2 = ['blue', 'red', 'green', 'yellow'];
var colors3 = ['green', 'yellow', 'blue', 'red'];

// Create the markers and push them to an array
for (var i = 0; i < latLngs.length; i++) {

    var marker = new google.maps.Marker({
        position: latLngs[i],
        icon: 'http://www.google.com/intl/en_us/mapfiles/ms/micons/' + colors1[i] + '-dot.png',
        map: map
    });

    markers.push(marker);
}

希望你明白这一点。

JSFiddle demo