Javascript 在Google Maps API v3中基于地理定位精度设置缩放级别

Javascript 在Google Maps API v3中基于地理定位精度设置缩放级别,javascript,html,google-maps-api-3,geolocation,Javascript,Html,Google Maps Api 3,Geolocation,如何根据HTML5地理定位返回的准确度值计算Google Maps web应用程序中要设置的适当缩放级别 基本上,我希望地图放大到足以显示细节,但放大到足以显示精度半径范围内的区域(我正在围绕中心点绘制一个圆圈,以显示用户可能所在的区域) 我找到了与使用maps API地理编码位置类型相关的答案,但与使用HTML5地理定位精度值(返回单位为米)无关 我觉得后退可能是一种方法,但这涉及到将米转换为一组新的LatLng值,我觉得这可能有点模糊(但在距离上可能不会模糊到地理定位器的精度可能会恢复) 谢

如何根据HTML5地理定位返回的准确度值计算Google Maps web应用程序中要设置的适当缩放级别

基本上,我希望地图放大到足以显示细节,但放大到足以显示精度半径范围内的区域(我正在围绕中心点绘制一个圆圈,以显示用户可能所在的区域)

我找到了与使用maps API地理编码位置类型相关的答案,但与使用HTML5地理定位精度值(返回单位为米)无关

我觉得后退可能是一种方法,但这涉及到将米转换为一组新的LatLng值,我觉得这可能有点模糊(但在距离上可能不会模糊到地理定位器的精度可能会恢复)


谢谢,

绘制
圆圈
,然后使用圆圈的
边界
作为
fitBounds的参数。这对我很有帮助

var zoomLevel = parseInt(Math.log2(591657550.5 / (accuracy * 45))) + 1;

这给了我合理的缩放水平的基础上的准确性。(计算时未包含像素信息)

@Fat Monk您是如何应用此功能的。可能不是最容易在评论中解释的,但下面是说明。使用
locAccuracyCircle=new google.maps.circle({将你的圆圈参数放在这里})创建“locAccuracyCircle”圆圈
,然后使用
locAccuracyCircle.setRadius(position.coords.accurity)将该圆的半径设置为位置代码获得的位置精度。最后使用
map.fitBounds(locAccuracyCircle.getBounds())设置映射边界