在我建立的电子商务系统中,我想使用google maps api来显示购买的来源。我希望标记形状为圆形,我希望该圆形的大小取决于从该特定城市购买的数量。假设有来自纽约的100份订单和来自波士顿的200份订单,波士顿的圈子将是规模的两倍。
我该怎么做?
答案 0 :(得分:1)
您的标记图标可以是一个符号(SVG路径),因此您可以根据自己的需要进行缩放。
以下示例每次向地图添加符号时都会对符号进行放大。您可以轻松地将其重用于您的用例。
var map;
var polyLine;
var polyOptions;
var iconSize = 0.5;
function initialize() {
var mapOptions = {
zoom: 5,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: new google.maps.LatLng(0,0)
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
google.maps.event.addListener(map, 'click', function(event) {
addPoint(event);
});
}
function addPoint(event) {
var icon = {
path: "M-20,0a20,20 0 1,0 40,0a20,20 0 1,0 -40,0",
fillColor: '#FF0000',
fillOpacity: .6,
anchor: new google.maps.Point(0,0),
strokeWeight: 0,
scale: iconSize
}
var marker = new google.maps.Marker({
position: event.latLng,
map: map,
draggable: false,
icon: icon,
zIndex : -20
});
map.panTo(event.latLng);
iconSize += .1;
}
initialize();