我知道输入和输出是什么,但我不确定它是如何工作的或原因.
此代码用于给定包含一组点的最小和最大经度/纬度(正方形),确定Google地图上仍将显示所有这些点的最大缩放级别.原作者已经不见了,所以我不确定这些数字中的一些是什么(即6371和8).认为这是一个难题= D
int mapdisplay = 322; //min of height and width of element which contains the map
double dist = (6371 * Math.acos(Math.sin(min_lat / 57.2958) * Math.sin(max_lat / 57.2958) +
(Math.cos(min_lat / 57.2958) * Math.cos(max_lat / 57.2958) * Math.cos((max_lon / 57.2958) - (min_lon / 57.2958)))));
double zoom = Math.floor(8 - Math.log(1.6446 * dist / Math.sqrt(2 * (mapdisplay * mapdisplay))) / Math.log (2));
if(numPoints == 1 || ((min_lat == max_lat)&&(min_lon == max_lon))){
zoom = 11;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将Google地图集中到用户位置,同时考虑到该位置的准确性,提供合理的缩放级别.任何人都可以描述我应该如何计算它?涉及哪些变量,您是如何实现这一目标的?
出于某种原因,这似乎比我想象的要难得多.我正在使用地图显示,我已将缩放级别设置为15:
mapController.setZoom(15);
Run Code Online (Sandbox Code Playgroud)
有什么不同的缩放级别等于距离?我假设是某种日志或指数规模.如果我为缩放级别选择1或18,那么在地图上每个缩放级别的屏幕上显示的近似距离是多少?
任何人都可以帮我计算或转换谷歌地图相机缩放级别为KM距离.当用户缩小谷歌地图时,我想向api发送距离以获得更多的pin数据.