Javascript 将艺术标记作为图像将不会停止重复

Javascript 将艺术标记作为图像将不会停止重复,javascript,map,svg,google-visualization,Javascript,Map,Svg,Google Visualization,在我目前的地图上,我试图用背景图像替换基本颜色。我已经得到了最终出现的形象,但现在无论我怎么努力,我不能让它停止重复 有人能帮忙吗 google.load('visualization', '1', {'packages': ['geochart']}); google.setOnLoadCallback(drawVisualization); function drawVisualization() {var data = new google.visualization.DataTab

在我目前的地图上,我试图用背景图像替换基本颜色。我已经得到了最终出现的形象,但现在无论我怎么努力,我不能让它停止重复

有人能帮忙吗

google.load('visualization', '1', {'packages': ['geochart']});
google.setOnLoadCallback(drawVisualization);

  function drawVisualization() {var data = new google.visualization.DataTable();

 data.addColumn('string', 'Country');
 data.addColumn('number', 'Value'); 
 data.addColumn({type:'string', role:'tooltip'});


 data.addRows([[{v:'Los Angeles',f:'Los Angeles'},0,'tooltip']]);
 data.addRows([[{v:'Chicago',f:'Chicago'},0,'tooltip']]);
 data.addRows([[{v:'New York',f:'New York'},0,'tooltip']]);

 var options = {
 colorAxis:  {minValue: 0, maxValue: 0,  colors: ['#6699CC']},
 legend: 'none',    
 backgroundColor: {fill:'transparent',stroke:'#FFF' ,strokeWidth:0 },    
 datalessRegionColor: '#f0f0f0',
 displayMode: 'markers', 
 enableRegionInteractivity: 'true', 
 resolution: 'provinces',
 sizeAxis: {minValue: 1, maxValue:1,minSize:10,  maxSize: 10},
 region:'US',
 keepAspectRatio: true,
 width:400,
 height:300,
 tooltip: {textStyle: {color: '#444444'}}    
 };
  var chart = new   google.visualization.GeoChart(document.getElementById('visualization')); 

   //CUSTOM CODE STARTS HERE                             

 google.visualization.events.addListener(chart, 'ready', function () {


    var patt = document.createElementNS('http://www.w3.org/2000/svg', 'pattern');

    patt.setAttribute('id', 'img1');
    patt.setAttribute('patternUnits', 'userSpaceOnUse');
    patt.setAttribute('width', '20');
    patt.setAttribute('height', '20');
    patt.setAttribute('x', '0');
    patt.setAttribute('y', '0');



    var image = document.createElementNS('http://www.w3.org/2000/svg', 'image');
    image.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', 'http://img32.imageshack.us/img32/4886/spink.png');
    image.setAttribute('x', '0');
    image.setAttribute('y', '0');
    image.setAttribute('width', '20');
    image.setAttribute('height', '20');

    var defs = document.getElementsByTagName('defs')[0];

    patt.appendChild(image);
    defs.appendChild(patt);

    //This would have to be a loop

    document.getElementsByTagName('circle')[0].setAttribute("fill", "url(#img1)");
     document.getElementsByTagName('circle')[1].setAttribute("fill", "url(#img1)");
     document.getElementsByTagName('circle')[2].setAttribute("fill", "url(#img1)");

 });

//CUSTOM CODE FINISHES HERE

 chart.draw(data, options);


 }
这是关于这个问题的一篇文章


任何帮助都将不胜感激

我想您已经看到了与此相关的外观,但这个答案似乎与平铺有相同的问题。看起来SVG将图像平铺为所有圆形元素的背景,因此出现了奇怪的行为。您可能希望尝试为每个圆创建不同的图像元素,并使用X/Y定位来计算适当的X/Y开始值,以使平铺看起来正确。如果有人想知道电子邮件或与我联系,我会将其发布。请在下面的答案中分享!回答你自己的问题没有坏处!