1

这张地图很好用,我只是有一个问题。
我需要为每个标记创建一个不同的图标。我的代码真的不幸运^^我
该怎么办?

var side_bar_html = ""; 
var gmarkers = []; 
var map = null;

/**
*map
**/

var point = new google.maps.LatLng(-23.421409,-51.936722);
var marker = createMarker(point,"This place",contentString0)

var point = new google.maps.LatLng(-23.421409,-51.934722);
var marker = createMarker(point,"This place",contentString1)

var point = new google.maps.LatLng(-23.421409,-51.932722);
var marker = createMarker(point,"This place",contentString2)

//将组装好的side_bar_html内容放入side_bar div

document.getElementById("side_bar").innerHTML = side_bar_html;
}

var infowindow = new google.maps.InfoWindow({ 
size: new google.maps.Size(150,50)
});

// 该函数获取点击并打开相应的信息窗口

function myclick(i) {
google.maps.event.trigger(gmarkers[i], "click");
}

// 创建标记和设置事件窗口函数的函数

function createMarker(latlng, name, html) {
    var contentString = html;
    var marker = new google.maps.Marker({
        position: latlng,
        map: map,
        zIndex: Math.round(latlng.lat()*-100000)<<5
        });

google.maps.event.addListener(marker, 'click', function() {
    infowindow.setContent(contentString); 
    infowindow.open(map,marker);
    });

gmarkers.push(marker);
side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a><br>';
}
4

1 回答 1

0

在您的标记构造函数中,将带有图标 URL 的图标属性添加到您传递的匿名对象:

var marker = new google.maps.Marker({ position: latlng, map: map, icon:(image URL here), zIndex: Math.round(latlng.lat()*-100000)<<5 });

https://developers.google.com/maps/documentation/javascript/reference#MarkerOptions

(通过手机发送,如果布局不好,请见谅)。

于 2013-07-06T12:23:33.370 回答