限制地图显示的范围,超过范围不能显示,那位知道?

hanchen8023 2011-06-20 07:01:03
我想在地图上显示以我的当前位置为中心,半径为3公里的地图范围,
别的不给显示,或者不能拖到。
求解答。
...全文
879 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Potter 2011-12-06
  • 打赏
  • 举报
回复
地图一般都是根据数组来绘制地图,设置一个偏移量限制其绘制地图循环,岂不就可以做到了
hanchen8023 2011-06-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wyx100 的回复:]
maps的api,里面你应该可以找到答案的
[/Quote]
没有答案
hanchen8023 2011-06-21
  • 打赏
  • 举报
回复
求解答
jeky_zhang2013 2011-06-21
  • 打赏
  • 举报
回复
这个有点意思,等待高手解答
wyx100 2011-06-21
  • 打赏
  • 举报
回复
maps的api,里面你应该可以找到答案的
hello_kitty8888 2011-06-21
  • 打赏
  • 举报
回复
半径3公里是个图,而你的屏幕是方的???
看一下放大级别,但google 的放大级别跟你的3公里,看看能否找到一个适当的比例。这只是一个方法,别的好方法不知道有没有,应该会有的。
hanchen8023 2011-06-21
  • 打赏
  • 举报
回复
求高手解答啊
hanchen8023 2011-06-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 raoyongchao 的回复:]
可以看maps的api,里面你应该可以找到答案的
[/Quote]
没有答案啊,有的话就用了 啊
raoyongchao 2011-06-20
  • 打赏
  • 举报
回复
可以看maps的api,里面你应该可以找到答案的
icoler 2011-06-20
  • 打赏
  • 举报
回复
还有种方法。

就是比较麻烦。

通过地图放大缩小级别可以获得当前级别下每像素多少经度以及纬度(也能获取每像素对应的距离)。

然后你可以根据用户的拖动多少像素,获得经纬度。再通过上面的公式,计算是否超出距离。

超出就不给他显示。

要是你搞定了地图,这些都好说,就是麻烦了点。
icoler 2011-06-20
  • 打赏
  • 举报
回复
算了,我理解错了。
icoler 2011-06-20
  • 打赏
  • 举报
回复
不是距离是你定的?

我的意思是你可以求出最远点的经纬度。

不过,有点难度。
hanchen8023 2011-06-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 icoler 的回复:]
貌似有个经纬度,两点之间距离计算的公式。

以下为摘抄:

Java code

设地球半径为R,地心为0,球面上两点A、B的球面坐标为A(α1,β1),B(α2,β2),α1、α2∈[-π,π],β1、β2∈[-π/2,π/2 ],

AB =R•arccos[cosβ1cosβ2cos(α1-α2)+sinβ1sinβ2]
利用勾股定理与正弦定理则可求出AB两点间的直线距……
[/Quote]
我现在跟我当前的位置为中心啊,只有一个点啊。
icoler 2011-06-20
  • 打赏
  • 举报
回复
貌似有个经纬度,两点之间距离计算的公式。

以下为摘抄:
设地球半径为R,地心为0,球面上两点A、B的球面坐标为A(α1,β1),B(α2,β2),α1、α2∈[-π,π],β1、β2∈[-π/2,π/2 ], 

AB =R•arccos[cosβ1cosβ2cos(α1-α2)+sinβ1sinβ2]
利用勾股定理与正弦定理则可求出AB两点间的直线距离,在利用正弦定理可求出AB两点与地球0点夹角的度数,再利用如下公式:角EOD的度数/360度=E与D之间的球面距离/大圆周长,则可求出AB的球面距离。


lz可以通过解方程式获取用户最大能显示的经纬度不就可以了?

80,348

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧