#2020征文-手机#地图组件TinyMap来啦!鸿蒙上第一个开源地图组件 原创 精华

董昱
发布于 2020-12-19 10:55
浏览
12收藏

大家好!欢迎您来到51CTO鸿蒙专区。我是董昱。很荣幸成为HarmonyOS系统课程开发者。

#2020征文-手机#地图组件TinyMap来啦!鸿蒙上第一个开源地图组件-鸿蒙开发者社区#2020征文-手机#地图组件TinyMap来啦!鸿蒙上第一个开源地图组件-鸿蒙开发者社区

欢迎大家观看我在51CTO中首发了我的最新免费的视频教程《精讲鸿蒙应用程序开发》,并提出宝贵的意见:

https://edu.51cto.com/course/26138.html

================================

今天给大家介绍我自己开发的一个鸿蒙应用程序的地图控件:TinyMap。大家先看看效果

#2020征文-手机#地图组件TinyMap来啦!鸿蒙上第一个开源地图组件-鸿蒙开发者社区

因为论坛上传gif动画的大小的闲置,实际的效果比这个还要好一些,平移的时候如丝般顺滑。

这个控件可以放置Google和高德的底图,并且可以添加自定义的底图元素(带图片的地理位置要素)

 

优势:

  • 开源,方便大家学习研究
  • 超级轻量化,目前仅包含3个类,适合源码研究和学习。
  • 可高德地图和Google地图作为地理底图,并且可以选择卫星影像和矢量底图数据。
  • 可添加自定义底图元素(Element)

 

部署教程:

将tinymap Module(也就是HAP)移到所需要的工程中,并且在需要调用的Module(HAP)中导入这个工程。 在build.gradle中插入以下代码:

apply plugin: 'com.huawei.ohos.hap'
...

dependencies {
    ...
    implementation project(':tinymap')
}

使用说明
目前支持手势滑动平移,还不支持手势放大和缩小(在后期会加上这个功能)。

  • zoomIn()方法:缩小地图
  • zoomOut()方法:放大地图
  • refreshMap()方法:刷新地图
  • setMapSource(TinyMap.MapSource mapSource)方法:切换底图数据源。目前底图数据源包括5类:
MapSource.GAODE_ROAD : 高德道路数据
MapSource.GAODE_VECTOR : 高德矢量数据
MapSource.GAODE_SATELLITE : 高德卫星数据
MapSource.GOOGLE_VECTOR : Google矢量数据
MapSource.GOOGLE_SATELLITE : Google卫星数据
  • addElement(float x, float y, int resource)方法:添加底图元素(目前仅支持墨卡托投影坐标,后期会添加经纬度坐标方法)。例如:
    addElement(12956517.35f, 4864667.87f, ResourceTable.Media_dot)​

这个地图是怎么实现的呢?

我通过Component组件的Canvas画布进行绘制的。具体大家可以看代码,注释啥的都有,总共也不超过1000行。

开源地址:

https://gitee.com/dongyu1009/tiny-map-for-harmony-os

 

如果大家感兴趣,以后会给大家介绍具体的实现方法。哈哈。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
TinyMap源码.zip 1.55M 260次下载
9
收藏 12
回复
举报
10条回复
按时间正序
/
按时间倒序
鲜橙加冰
鲜橙加冰

好东西。。。

1
回复
2020-12-19 11:07:45
董昱
董昱 回复了 鲜橙加冰
好东西。。。

谢谢哈。

回复
2020-12-19 11:19:31
戈英祯
戈英祯

好东西!

回复
2020-12-22 09:13:29
戈英祯
戈英祯

有获取当前经纬度的功能吗?

回复
2020-12-22 09:35:21
董昱
董昱 回复了 戈英祯
有获取当前经纬度的功能吗?

暂时没有哦!

不过目前可以参考官方文档https://developer.harmonyos.com/cn/docs/documentation/doc-guides/device-location-info-0000000000031900

将位置以地图元素的形式绘制在地图上。

 

===

这个需求我记下了,过两天我会加上,谢谢!

回复
2020-12-22 12:01:48
wx5f632b972847e
wx5f632b972847e

很赞,期待更多更丰富的地图应用功能上线

有几个疑问:

1、直接访问高德/谷歌地图数据,有什么使用条款么?是否一直免费开放使用?

2、国内好像访问不了谷歌地图数据吧?

回复
2021-1-29 16:07:26
董昱
董昱 回复了 wx5f632b972847e
很赞,期待更多更丰富的地图应用功能上线 有几个疑问: 1、直接访问高德/谷歌地图数据,有什么使用条款么?是否一直免费开放使用? 2、国内好像访问不了谷歌地图数据吧?

1、使用切片服务应该不需要条款,一直开放使用。

2、谷歌的国内地图服务器(map.google.cn)在今年刚刚被关闭,很遗憾已经不能访问了。

回复
2021-2-1 20:43:21
wx5f632b972847e
wx5f632b972847e 回复了 董昱
1、使用切片服务应该不需要条款,一直开放使用。 2、谷歌的国内地图服务器(map.google.cn)在今年刚刚被关闭,很遗憾已经不能访问了。

谢谢老师答复,后面是否会增加更多更多功能呢,例如骑行导航等,能否搞个培训呢?

回复
2021-2-3 15:10:48
RabDog
RabDog

老师:Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.,

与Gradle7.0不兼容了

回复
2021-2-5 21:31:56
顺_百毒不侵
顺_百毒不侵

牛批!!!!!

回复
2021-3-12 11:57:38
回复
    相关推荐