Android(MapView):如何在地图视图中设置 4 英里的缩放级别?
我有一个纬度和经度(GeoPoint),它是地图的中心。 我想将缩放级别设置为距我拥有的纬度和经度 4 英里的距离。
提前致谢,
I have a latitude and longitude(GeoPoint) which is the center of map.
I want to set zoom level of 4miles distance from latitude and longitude that I have.
Thanks in Advance,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
已解决:
来自 Androd 谷歌 API:
Zoomlevel 设置地图的缩放级别。该值将被限制在 1 到 21 之间(含 1 和 21),但并非所有区域都具有更高缩放级别的图块。这只是直接设置缩放级别;
参数:
ZoomLevel - 在 ZoomLevel 1 处,地球赤道长 256 像素。每个连续的缩放级别都会放大 2 倍。
返回:
新的缩放级别,介于 1 和 21 之间(含 1 和 21)。
所以
给定赤道 E = 40075 公里或 21.638,8 英里
给定缩放距离 D = 20 公里或英里,
缩放级别: L = log2(E/D)+1
这是我使用的简单方法
如果您想使用里程,请记住设置 E= 21.638,8...
SOLVED :
from Androd google API :
zoomlevel sets the zoomlevel of the map. The value will be clamped to be between 1 and 21 inclusive, though not all areas have tiles at higher zoom levels. This just sets the level of the zoom directly;
Parameters:
zoomLevel - At zoomLevel 1, the equator of the earth is 256 pixels long. Each successive zoom level is magnified by a factor of 2.
Returns:
the new zoom level, between 1 and 21 inclusive.
So
given the Equator E = 40075 Km or 21.638,8 miles
given the distance to zoom D = 20 km or miles
the zoom level : L = log2(E/D)+1
This is the simple method I've used
remember to set E= 21.638,8 if you want to use the miles...
您可以使用 setzoom() 函数来执行此操作。下面的代码可以在此示例中找到。
You can use the setzoom()-function to do so. The code below can be found in this example.
使用地图的
.setZoom(int);
参数。我认为大约是 15:所以
myMap.setZoom(15);
Play with the
.setZoom(int);
parameter of your map. i think its around 15:so
myMap.setZoom(15);