开发者社区> 问答> 正文

IOS 用SVGKit解析svg地图,并动态往svg内容里面添加文字信息?报错

我在IOS上需要开发这样一个功能,别人提供我们一张SVG地图,然后我用svgkit解析显示出来,并且需要我自己在地图上的区域标注文字注释,但是怎么也标注不上去。

下面是我写的自己标注文字的代码片断,只要我一添加attr就报错。不知道是什么原因?

NSMutableDictionary *attributeDic = [[NSMutableDictionary alloc] initWithCapacity:0];
        [attributeDic setObject:@"50" forKey:@"x"];
        [attributeDic setObject:@"50" forKey:@"y"];
        [attributeDic setObject:@"#000000" forKey:@"fill"];
        [attributeDic setObject:@"50" forKey:@"font-size"];
         SVGTextElement *element = [[SVGTextElement alloc] initWithQualifiedName:@"text" inNameSpaceURI:@"http://www.w3.org/2000/svg" attributes:attributeDic];
        //[element setAttribute:@"fill" value:@"#000000"];
        Text *text = [[Text alloc] initType:DOMNodeType_TEXT_NODE name:@"text" value:@"123123"];
        [element appendChild:text];
        [docSVG.rootElement appendChild:element];
        NSLog(@"source:%@",element.attributes);



不知道os里面有没有搞过这个的,帮小弟看一下

展开
收起
爱吃鱼的程序员 2020-06-22 12:42:25 1777 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    报什么错?添加哪个attr报错?回复<aclass='referer'target='_blank'>@云贵高原:你好,你写的那个touchVG开源项目,可以实现我下面说的那几个功能吗?有没有QQ交流群?谢谢了SVGKit没有使用ARC,你可检查是否对象释放造成Key无效,多跟踪key的变化。TouchVG-SVG要显示SVG,要修正一个BUG,见github.com/rhcad/SVGKit异常可能是能否留个QQ,有一些SVG方面的问题想请教一下你。谢谢了我添加[elementsetAttribute:@"x"value:@"50"];运行直接就异常了。报:**Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'**setObjectForKey:keycannotbenil'SVGKit没有使用ARC,你可检查是否对象释放造成Key无效,多跟踪key的变化。TouchVG-SVG要显示SVG,要修正一个BUG,见github.com/rhcad/SVGKit

    <atarget="_blank"rel="nofollow">@云贵高原

    请教您一个问题,我如果用代码向一个svgdocuemnt添加一个text标签,但总是显示不出来。不知道是什么问题。能帮我看一下吗?下面是我写的代码:

     <preclass="brush:cpp;toolbar:true;auto-links:false;">SVGDocumentdocSVG=document.DOMDocument;SVGTextElementelement=[[SVGTextElementalloc]initType:DOMNodeType_ELEMENT_NODEname:@"text"inNamespace:@"http://www.w3.org/2000/svg"];Text*text=[[Textalloc]initType:DOMNodeType_TEXT_NODEname:@"text"value:@"123123"];[elementappendChild:text];[docSVG.rootElementappendChild:element];




    你好lz,我最近也在使用svgkit,我的项目在swift中,我按照github的要求添加了我的文件,但是当我

    importSVGKit的时候 报错nosuchmodule,不知道哪里出错了,请问我该如何开始使用SVGKit

    你先把svg的demo运行起来,如果没有问题的话,可以按照github的步骤去集成,如果你不对svgkit进行修改的话,可以直接把svgkit打成.a文件。然后直接引进你的项目中,这样比较方便一点回复<aclass='referer'target='_blank'>@回回回:你好,太感激了,我的项目是swift的,然后我已经按照github做成了a文件,并且按照github把该放的文件都放了进去,然后我在代码里面写了importSVGKit 不知道这样对不对,但是报错提示我说nosuchmoduleSVGKit 我在cocoa上面提问了,但没有人回答:http://www.cocoachina.com/bbs/read.php?tid=217462这里有我的截图还有报错的内容,请教大神啊那就是没有找到svgkit呀。我没有在swift上用过,所以不太清楚。

    你好,请问你的问题解决了吗?能不能给个demo参考一下?

    回复<aclass="referer"target="_blank">@回回回:这样的话,放大时候文字会不清晰吧解决了。demo估计没有。可以给你一些思路,svg图里面只加载底图,在底图上层再覆盖一层view,用来标注文字信息,等等

    2020-06-23 11:59:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
手淘iOS性能优化探索 立即下载
From Java/Android to Swift iOS 立即下载
深入剖析iOS性能优化 立即下载

相关镜像