Skip to content

24KYang/MapDemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MapDemo

这是我要做的需求

map.gif

  • 细化功能

☑️ 接入高德地图

✅ 通过偏移量改变透明度

✅ KVO监听实现路线视图frame的改变

✅ 滑动列表不影响地图点击

✅ 滑动结束根据偏移量确定列表最终位置(待优化)

☑️滑动结束更新地图边界

☑️点击路线视图自动切换列表偏移量(分三级)

☑️横向滑动路线视图并重新绘制地图路线

大概就这么多慢慢去实现

  说实话,就列表滑动这一块就卡了我一个多礼拜,然后我就看到了这个兄弟的Demo

  通过改变tableview的内边距,重写hitTest:(CGPoint)point withEvent:(UIEvent *)event方法,当pointy值小于0时,返回nil,这样就可以穿透tableview直接操作地图了。

  当偏移量达到屏幕中间再继续向上滑动时,才根据偏移量计算透明度。

  因为改变了内边距,所以显示路线的view就不能放在tableview上了。我的解决办法是,给tableview设置一个空白的headerview,用KVO监听tableview的偏移量并实时更新路线视图的frame

  实现列表滚动停止,根据偏移量来确定最终位置。我这里是将屏幕三等分作为阈值,当偏移量在屏幕上部三分之一时,列表最终会置顶。当偏移量在屏幕中间的三分之一时,列表会居中显示。当偏移量在屏幕下部三分之一时,列表会置底,只显示出路线视图。后期会根据百度地图来修改的。

详细的还是看代码吧,里面有详细的备注。

Demo地址

简书地址

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published