`
kabike
  • 浏览: 598627 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

百度地图android sdk拖拽overlay item

阅读更多
使用百度地图的android sdk的ItemizedOverlay可以方便的在地图上添加覆盖物,但是覆盖物是不能拖拽的,只有onTap函数中可以处理点击事件.怎么能实现拖拽呢?
我想到的一个方法是既然MapView也是一个android的View,自然可以监听鼠标事件,可以设置OnTouchListener,捕获最原始的鼠标事件.
ItemizedOverlay有个hitTest方法,可以判断屏幕点击是否点击到了一个覆盖物上,所以可以在OnTouchListener的onTouch方法中,判断鼠标事件的不同,
在MotionEvent.ACTION_DOWN,即鼠标按下时,先判断鼠标是否是在一个覆盖物上进行了点击,如果在覆盖物上点击了,那么当前状态为覆盖物拖拽状态,
MotionEvent.ACTION_UP和MotionEvent.ACTION_MOVE事件时,则如果处于覆盖物拖拽状态,用百度地图将屏幕坐标投影到地理坐标,然后更新覆盖物的位置.

效果和源代码见附件
  • apk.rar (1.7 MB)
  • 下载次数: 131
分享到:
评论
2 楼 kabike 2015-01-21  
microapps 写道
请问屏幕坐标能转换成经纬度吗?

太久了...忘记了
1 楼 microapps 2015-01-20  
请问屏幕坐标能转换成经纬度吗?

相关推荐

Global site tag (gtag.js) - Google Analytics