假设我的应用程序显示了SVG图像(由svg转换为svg-android库可绘制),一旦用户点击它,我需要知道他点击了哪个SVG组。
假设我需要将点击坐标传递给某种解析器,该解析器将通过SVG文件并返回到它们所属的组。
例如这样的SVG
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd">
<svg version="1.1" baseProfile="basic" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
y="0px" width="100px" height="100px" viewBox="0 0 100 100" xml:space="preserve">
<g id="RCTOP">
<polygon fill="#4374B9" points="70,25 25,25 25,70"/>
</g>
<g id="RCBTM">
<polygon fill="#B84545" points="30,75 75,75 75,30"/>
</g>
</svg>
如果单击,则返回“RCTOP”,例如35x35或“RCBTM”,如果单击55x55 ...
任何想法,如果某处有这样的库,或者我应该从头开始编写它?
谢谢!
答案 0 :(得分:-1)
您可以使用PanZoom
,它可以捕获这样的点击事件:
$panzoom.on('panzoomend', function( e, panzoom, matrix, changed ) {
if ( !changed ) {
// The user clicked or tapped and did not do a move with panzoom
}
});