Android开发学习笔记(四):聊聊最近结合Google Map开发的事儿_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Android开发学习笔记(四):聊聊最近结合Google Map开发的事儿

Android开发学习笔记(四):聊聊最近结合Google Map开发的事儿

 2011/1/15 7:48:44  bindai  http://digglives.javaeye.com  我要评论(0)
  • 摘要:最近结合公司项目,在做一个基于GoogleMap的小应用。遇到了一些问题,整理如下。1)关于ItemizedOverlay按照Google文档的说法,在GoogleMap上面叠加层需要继承一个ItemizedOverlay,实现其内部的一些方法,比如size(),getOverlayItem,AddOverlayItem等。由于项目需要,需要在地图上画N种不同的样式Item,开始我打算使用AddOverlayItem,分别SetMark实现,后来也不知是什么原因,只能使用一种Drawable
  • 标签:笔记 android 学习 Google Map 结合 开发 学习笔记 Android开发

最近结合公司项目,在做一个基于Google Map的小应用。遇到了一些问题,整理如下。

?

1)关于ItemizedOverlay

?

按照Google文档的说法,在Google Map上面叠加层需要继承一个ItemizedOverlay,实现其内部的一些方法,比如size(),getOverlayItem,AddOverlayItem等。

?

由于项目需要,需要在地图上画N种不同的样式Item,开始我打算使用AddOverlayItem,分别SetMark实现,后来也不知是什么原因,只能使用一种Drawable,后面再设置就不能显示了。

?

无奈之下利用构造函数传入数据,使用draw方法来绘图,再利用坐标加阈值加遍历的方法实现OnTap事件。这样简单的点击查询就完成了。但是麻烦的还在后面。

?

2)关于LongPress和DoubleClick

?

ItemizedOverlay原生不支持LongPress或者DoubleClick事件,试了试Activity内部的LongClick方法,也没成功。查了查资料,说要在继承ItemizedOverlay的类中实现GestureDetector(?)接口,无奈本人技术有限,没能研究明白。

?

后来在问答里面得高人相助,告知可以使用“mapview-overlay-manager ” Google Code 项目,遂下下来研究。经过对源码的改造,经过了九九八十一难,终于算是大功告成了。

?

稍微总结一下:1)ItemizedOverlay对于简单点的放置以及显示来讲还是不错的,毕竟省去了很多绘制方面繁琐的操作,不过相对的,只是用ItemizedOverlay里面提供的那些方法毕竟功能薄弱,遇到需要灵活性的开发,还是需要使用到父类Overlay里面的Draw()方法。2)而ItemizedOverlay原生不支持多种事件方法也很让人头大,不过幸好开源的力量大,当然也经过了自己的改造,算是成功实现了自己的需求。也让自己对以前某些混淆不清的概念得到了重新的认识。

?

虽然“mapview-overlay-manager”项目的作者肯定看不到我这篇文章,但是还是在此表达一下谢意。

?

具体遇到的问题就不细致说了,都在代码里面,贴上来也没太大意思。这里留个底,算是备查好了。

发表评论
用户名: 匿名