java 中国地图_高级UI-svg实现可交互的中国地图

这篇博客介绍了如何利用SVG文件和Java实现一个可交互的中国地图。首先解析SVG的Path指令,封装成JavaBean,然后重写OnDraw方法绘制地图,在OnTouchEvent中判断手指触摸位置以响应省份选择。地图资源来源于'amcharts',博客涵盖了地图的加载、解析、绘制和触控响应的详细步骤。
摘要由CSDN通过智能技术生成

[TOC]

H3h9miCjeh.gif

思路

第三步 利用Xml解析SVG的代码 封装成javaBean 最重要的得到Path

第四步 重写OnDraw方法 利用Path绘制中国地图

第五步 重写OnTouchEvent方法,记录手指触摸位置,判断这个位置是否坐落在某个省份上

找到svg的图 文件位置在这里

ammap_3.21.2.free\ammap\maps\svg

找到china的文件 有两个 高精度和低精度随便哪个都行

(1)Path指令解析如下所示:

Path

M = moveto(M X,Y) :将画笔移动到指定的坐标位置,相当于 android Path 里的moveTo()

L = lineto(L X,Y) :画直线到指定的坐标位置,相当于 android Path 里的lineTo()

H = horizontal lineto(H X):画水平线到指定的X坐标位置

V = vertical lineto(V Y):画垂直线到指定的Y坐标位置

C = curveto(C X1,Y1,X2,Y2,ENDX,ENDY):三次贝赛曲线

S = smooth curveto(S X2,Y2,ENDX,ENDY) 同样三次贝塞尔曲线,更平滑

Q = quadratic Belzier curve(Q X,Y,ENDX,ENDY):二次贝赛曲线

T = smooth quadratic Belzier curveto(T ENDX,ENDY):映射 同样二次贝塞尔曲线,更平滑

A = elliptical Arc(A RX,RY,XROTATION,FLAG1,FLAG2,X,Y):弧线 ,相当于arcTo()

Z = closepath():关闭路径(会自动绘制链接起点和终点)

android:pathData="M541.02,336.29L541.71,336.09

L542.54,337.38L543.77,338.27

L543.53,338.58L545.92,338.99.8,350.12L561.12,349.61L562.97,349.6L563.89,349.94

L563.48,350.21L563.6,351.15L562.98,351.84L562.99,353.94L562.28,353.68L562.06,3

53.97L561.87,355.49L561.13,355.88L561.38,356.41L560.77,357.72L561.33,357.73

。。。。。

L562.06,359L563.49,358.5L563.75,357.85L564.17,358.09L564.64

,361.19L565.52,361.68L564.51,362.21L564.67,363.38L565.17,363.21L565.35,364.41

L566.19,364.53L566.23,365.29L567.26,365L568.99,365.25L569.63,364.91

L539.3,337.63L539.84,336.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值