高德地图API学习2-思路小记

要得到类似视景生活的显示效果。布局使用FrameLayout,该布局中,后定义的要素会叠加在前一个要素上。这样就可以先定义SurfaceView展示相机,然后定义MapView叠加在相机视图之上,然后再把自定义文本框添加在最后。
在SurfaceView上叠加MapView的话,地图数据将不会显示(Mark也不会显示),默认只显示高德logo和缩放按钮,这满足我的需求,但是Mark标签也不显示,这就需要自己来写了。
对于Mark标记,我们可以用自定义的TextView来代替,对于Mark在地图中的位置,我们可以使用AMap.toScreenLocation(LatLng paramLatLng)方法,将Mark的Position转为屏幕位置,然后在相应的位置放置自定义的TextView来模拟。地图是定位跟踪显示。
但是如果mark点的位置在地图显示之外的时候,它对应的屏幕座标是多少呢,这里应该有一个判断,如果Mark点的位置在当前地图视图显示范围外的话,与它对应的TextView不显示。当我们移动时,地图视图的显示范围也会发生变化,方位,距离等都得做出相应的变化,这样TextView就需要动态的调整自己的位置,不断的删除原来的那个TextView绘制新的TextView,可以监听定位座标,方位的变化,来对TextView进行相应位置的调整。
大概是这个思路,先记下来,后面再写。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章