Поэтому я хотел бы показать изображение на пути. Пути создаются через координаты topojson. Точки находятся в правильном положении на моей карте. Следующее, что нужно сделать, это показать SVG-изображение в этой точке.
Я пробовал это с добавлением svg:image, но без шансов. Я также попытался ввести его в путь с тем же результатом. Я нигде не вижу этого изображения. Вот пример с изображением PNG. Потому что, по крайней мере, это должно работать, чтобы исключить проблемы с SVG:
var featureCollection = topojson.feature(currentMap, currentMap.objects.points);
svgmap.append("path")
.attr("id", "points")
.selectAll("path")
.data(featureCollection.features)
.enter().append("path")
.attr("d", path);
svgmap.append("svg:image")
.attr("class","svgimage")
.attr("xlink:href", "pics/point.jpg" )
.attr("x", -20)
.attr("y", -20)
.attr("width", 13)
.attr("height", 13);
Редактировать
svgimage.append("pattern")
.attr("id","p1")
.attr("patternUnits","userSpaceOnUse")
.attr("width","32")
.attr("height","32")
.append("image")
.attr("xlink:href", "pics/point.jpg" )
.attr("width", 10)
.attr("height", 10);
svgmap.append("g")
.attr("id", "points")
.selectAll("path")
.data(featureCollection.features)
.enter().append("path")
.attr("d", path)
.attr("fill", "url(#p1)");
Но все еще не работает.
Редактировать2
Я упомянул, что это проблема с размером. Так что теперь я немного поиграл с размерами, и там я вижу еще несколько, но большинство из них не полностью изображены. Просто какие-то кусочки круга как-то. Странная вещь. Я продолжаю тестировать:
svgimage.append("pattern")
.attr("id","p1")
.attr("patternUnits","userSpaceOnUse")
.attr("width","10")
.attr("height","10")
.append("image")
.attr("xlink:href", "pics/point.jpg" )
.attr("width", 15)
.attr("height", 15);
Вот изображение текущего результата (jpg): http://i.imgur.com/T58DA1j.png еще не совершенен. Это когда я увеличиваю pointRadius (теперь это SVG): http://i.imgur.com/Z7nZUWk.png