使用SVGDeveloper画svg地图详细过程
使用步骤
1. 安装svg
2. 具体操作
1. 打开svg,点击file ,new,默认svg,点击ok
显示界面如下:

然后点击image

把鼠标放到代码下面的的桌面上,鼠标箭头会变成一个十字,然后点击桌布,弹出窗口,让选择一个图片:

刚出来的时候,桌布上只能看到一个框框:

然后,右键桌布,在菜单中选择image

显示样式如下:

此时,为了便于操作,切换回鼠标,点击黑色鼠标就会变成鼠标样式了:

由于我们的地图需要放大,所以我们在开始的时候,就要把地图放大,这样在页面上才能更好的显示放大效果。需要调整桌布的宽高为4000,图片的宽高要根据最大的像素来调整小的像素的大小,保持比例不变,例如:

我当前的画布(就是svg标签内的宽高),都要修改为4000,然后计算image的宽高:最大像素是height=655,改为height=4000;那么width=582就应该改为:4000*582/655=3554,修改x轴y轴都为零,便于后面添加文字
修改后的样式如下:

我们在这个宽高的基础上,再放大200%或者以上,以防地图失真,放大在右下角,描点:

在描点之前,要设置一下背景,便于后面操作:

圈中部分,第一个颜色为背景色,第二个颜色为画笔演示,我们这里要把背景色修改为无(就是画笔的当前色),把画笔修改为一个明亮的颜色,比如蓝色:

画笔的宽度也可以修改,右边的1是默认值,大于1就是加粗,小于1就是变细,我们为了方便,修改为2

这样就可以开始描点了,点击pen:

随便选择一个地图的边线,然后就可以沿着边线,一路点击描点:
这里要注意一下:选中pen后,不能随便点击桌布,因为点击一下就是一个点,如果这个点与其它点不连贯,代码中就会多出一个path(path的数量会根据孤立的点或者线会有相应数量的增加),后面会出现一些不必要的麻烦。

中间如果画错的话,可以ctrl+z后撤,点到最后,要成闭环的时候,鼠标上面的+号会变成o,这样就表示闭环了。
缩小后可以看到是这个样子:
这个时候,把path中的id粘贴出来放到svg模板中,华中地图整体是阴影部分:
那么就把id中的内容拷贝出来放在对应的id中:

在浏览器中打开,可以查看:

完整样子:

然后就可以在这个的基础上画省份了,同样,要修改一下背景色和画笔颜色。

省份的边线要挨着阴影线画,如果觉得不好控制距离的话,可以放大倍率来画,我这里调整为300%,这么点着就可以稍微快一点了,闭环后,如法炮制,把d中的值拷贝到模板中子模块中,如河南:

地图模板.svg 模板信息:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-flat-20030114.dtd">
<!-- Created by SVGDeveloper 1.0 -->
<svg width="4000" height="4000" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--安徽 #042b82 #063499 #083db2 #124ed1 #2464f0 #497dee-->
<g id="map">
<!-- 阴影 -->
<g id="yy" fill="none" fill-opacity="0.1" transform="translate(0,14)" > <path id="yy" stroke="#2e81df" stroke-width="32" d="" />
</g>
<!-- 亳州 -->
<path id="341600" fill="#042b82" stroke="black" stroke-width="2" d="" />
<!-- 阜阳 -->
<path id="341200" fill="#021e5c" stroke="black" stroke-width="2" d="" />
<!-- 淮北 -->
<path id="340600" fill="#063499" stroke="black" stroke-width="2" d="" />
<!-- 宿州 -->
<path id="341300" fill="#083db2" stroke="black" stroke-width="2" d="" />
<!-- 六安 -->
<path id="341500" fill="#124ed1" stroke="black" stroke-width="2" d="" />
<!-- 淮南 -->
<path id="340400" fill="#071b49" stroke="black" stroke-width="2" d="" />
<!-- 安庆 -->
<path id="340800" fill="#083db2" stroke="black" stroke-width="2" d="" />
<!-- 池州 -->
<path id="341700" fill="#2464f0" stroke="black" stroke-width="2" d="" />
<!-- 黄山 -->
<path id="341000" fill="#124ed1" stroke="black" stroke-width="2" d="" />
<!-- 蚌埠-->
<path id="340300" fill="#124ed1" stroke="black" stroke-width="2" d="" />
<!-- 合肥 -->
<path id="340100" fill="#497dee" stroke="black" stroke-width="2" d="" />
<!-- 滁州 -->
<path id="341100" fill="#2464f0" stroke="black" stroke-width="2" d="" />
<!-- 芜湖 -->
<path id="340200" fill="#042b82" stroke="black" stroke-width="2" d="" />
<!-- 宣城 -->
<path id="341800" fill="#497dee" stroke="black" stroke-width="2" d="" />
<!-- 铜陵 -->
<path id="340700" fill="#021e5c" stroke="black" stroke-width="2" d="" />
<!-- 马鞍山 -->
<path id="340500" fill="#063499" stroke="black" stroke-width="2" d="" />
<g id="p_text">
<text x="" y="" fill="#ffcc00" fill-opacity="0.8" class="font1">亳州</text>
<text x="" y="" fill="#ffcc00" fill-opacity="0.8" class="font1">阜阳</text>
<text x="" y="" fill="#ffcc00" fill-opacity="0.8" class="font1">淮北</text>
<text x="" y="" fill="#ffcc00" fill-opacity="0.8" class="font1">宿州</text>
<text x="" y="" fill="#ffcc00" fill-opacity="0.8" class="font1">六安</text>
<text x="" y="" fill="#ffcc00" fill-opacity="0.8" class="font1">淮南</text>
<text x="" y="" fill="#ffcc00" fill-opacity="0.8" class="font1">黄山</text>
<text x="" y="" fill="#ffcc00" fill-opacity="0.8" class="font1">蚌埠</text>
<text x="" y="" fill="#ffcc00" fill-opacity="0.8" class="font1">合肥</text>
<text x="" y="" fill="#ffcc00" fill-opacity="0.8" class="font1">滁州</text>
<text x="" y="" fill="#ffcc00" fill-opacity="0.8" class="font1">芜湖</text>
<text x="" y="" fill="#ffcc00" fill-opacity="0.8" class="font1">宣城</text>
<text x="" y="" fill="#ffcc00" fill-opacity="0.8" class="font1">铜陵</text>
<text x="" y="" fill="#ffcc00" fill-opacity="0.8" class="font1">马鞍山</text>
</g>
</g>
</svg>
上面的关键字含义如下:

现在开始添加省份信息,比如给河南省添加名称,并添加在地图的中央位置(美观):
切换为鼠标,点击桌面上显示河南的这一块连线,会显示如下样子:

可以看到中心有一个点,这个就是地图中心位置,鼠标移动的这个上面,可以看到svg工具下方有一个坐标地址,把这个坐标地址填写到
<text x="2033" y="1086" fill="#ffcc00" fill-opacity="0.8" class="font1">河南</text>
显示如下:

使用SVGDeveloper画svg地图详细过程的更多相关文章
- 用SVGDeveloper制作svg地图
项目中需要实现巴蜀地区图,并且将其分为川东.川西.川南.川北四个区域,鼠标悬浮对应区域的区块改变颜色.经过网上查询资料,并未找到现成的区域图,于是就利用SVGDeveloper工具绘制. 一.绘制地图 ...
- 使用svgdeveloper 和 svg-edit 绘制svg地图
目录: 1. 描述 2. 准备工作 3. 去除地图模板上的水印(可跳过) 4. 方法一.SVGDeveloper 5. 方法二.SVG-Edit 1. 描述编辑 有的时候我们需要自定义地图,本文提 ...
- 第一部分:使用iReport制作报表的详细过程(Windows环境下)
提示:在有些板块,文中的图片看不到,建议到我的blog浏览文章:http://blog.csdn.net/jemlee2002/文章将会涉及3个方面的内容: 第一部分:使用iReport制作报表的详细 ...
- c语言贪吃蛇详解1.画出地图
c语言贪吃蛇详解-1.画出地图 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识点. 首先 ...
- ffmpeg 编解码详细过程
ffmpeg编解码详细过程 bobbypollo 转:ffmpeg编解码详细过程 原文地址:ffmpeg编解码详细过程(转)作者:心在飞翔原文出处: http://www.360doc.com ...
- Linux下安装mongodb详细过程
本次安装mongodb使用yum.repo方式.详细过程请参考,也列出一些安装过程中的错误,欢迎指正. mongodb版本:3.0 先在linux下cd 到 /etc/yum.repos.d/ 新建脚 ...
- Ubuntu学习总结-01 用VMware 8安装Ubuntu 12.04详细过程
1 Ubuntu 下载地址 http://www.ubuntu.com/download/desktop 2 安装Ubuntu 转载用VMware 8安装Ubuntu 12.04详细过程 http:/ ...
- spm完成dmp在windows系统上导入详细过程
--查询dmp字符集 cat spmprd_20151030.dmp ','xxxx')) from dual; spm完成dmp在windows系统上导入详细过程 create tablespace ...
- Redis主从配置详细过程
Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构.下面楼主简单的进行一下配置. 1.上面安装 ...
随机推荐
- 【面试QA】Attention
目录 Attention机制的原理 Attention机制的类别 双向注意力 Self-Attention 与 Soft-Attention 的区别 Transformer Multi-Head At ...
- 【分布式锁】06-Zookeeper实现分布式锁:可重入锁源码分析
前言 前面已经讲解了Redis的客户端Redission是怎么实现分布式锁的,大多都深入到源码级别. 在分布式系统中,常见的分布式锁实现方案还有Zookeeper,接下来会深入研究Zookeeper是 ...
- Attention-based Extraction of Structured Information from Street View Imagery:基于注意力的街景图像提取结构化信息
基于注意力的街景图像提取结构化信息 一种用于真实图像文本提取问题的TensorFlow模型. 该文件夹包含在FSNS数据集数据集上训练新的注意OCR模型所需的代码,以在法国转录街道名称. 您还可以使用 ...
- 模型压缩一半,精度几乎无损,TensorFlow推出半精度浮点量化工具包,还有在线Demo...
近日,TensorFlow模型优化工具包又添一员大将,训练后的半精度浮点量化(float16 quantization)工具. 有了它,就能在几乎不损失模型精度的情况下,将模型压缩至一半大小,还能改善 ...
- iOS OCR
身份证识别,又称 OCR 技术.OCR 技术是光学字符识别的缩写,是通过扫描等光学输入方式将各种票据.报刊.书籍.文稿及其它印刷品的文字转化为图像信息,再利用文字识别技术将图像信息转化为可以使用的计算 ...
- Cygwin工具编译Ardupilot方法
注意:该编译方法生成的固件基于Chibios系统,如果想要Nuttx系统固件,需采用make编译,步骤见make编译说明部分. 软件安装准备 安装Cygwin 打开链接www.cygwin.com/i ...
- 模块 heapq_堆排序
_heapq_堆排序 该模块提供了堆排序算法的实现.堆是二叉树,最大堆中父节点大于或等于两个子节点,最小堆父节点小于或等于两个子节点. 创建堆 heapq有两种方式创建堆, 一种是使用一个空列表,然后 ...
- 使用nginx访问FastDFS
文中所有~~~均为同一个自定义文件夹名字,一般使用项目名称 2.1.为什么需要用Nginx访问? FastDFS通过Tracker服务器,将文件放在Storage服务器存储,但是同组存储服务器之间需要 ...
- KA 接口表
一.建表 1.年日均销量表 drop table app.app_basic_dashboard_goods_avg_year_sellnum; CREATE TABLE app.app_basic_ ...
- Aggressive cows(二分法)
Aggressive cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 28666 Accepted: 13146 Des ...