谷歌地图API V3:getBounds()转换fitBounds的结果()
Google Maps API V3: getBounds() convert result for fitBounds()
不,以上答案不回答我的问题。请阅读我下面的更新,了解为什么这是一个不同的案例
我使用的是谷歌地图API V3。当我写这个代码时:
map.fitBounds(map.getBounds());
地图缩小了
我知道这是根据文档的,因为fitBounds
确保在地图上显示给定的边界,以便所有边都显示在地图内。因此,我要寻找的答案如下:
之后如何修改getBounds的结果以用于fitBounds而不产生缩放效果
基本上,我很确定这是可以计算的,因为这就是地图的作用,但在相反的方向上,当添加边距时,可以完全显示给定的边界。在这些术语中,请告诉我如何计算裕度(因此,如何计算具有getBounds
输出的fitBounds
的正确输入(,您的回答将被接受。
提前感谢!
更新:
缩放和居中检索和设置对我不起作用!原因如下:
我将把地图的视口信息保存在数据库中。稍后,我想重新创建地图,并再次显示完全相同的位置。然而,映射平台可能因用户而异。因此,缩放和居中在不同的映射平台/框架之间不是标准的,并且不能在所有这些平台/框架中使用并获得相同的结果。因此,唯一的标准方法是在数据库中保留边界。因此,这个问题需要一个准确的答案。
存储地图的缩放和中心,而不是边界,然后恢复这些值。
我遇到了完全相同的问题,并决定将getBounds((产生的边界框缩小15%。这对我来说很好:
var neLat = map.getBounds().getNorthEast().k;
var neLong = map.getBounds().getNorthEast().B;
var swLat = map.getBounds().getSouthWest().k;
var swLong = map.getBounds().getSouthWest().B;
var boundingBoxPerc = 0.15;
var mapWidth = neLong - swLong;
var mapHeight = neLat - swLat;
var ne = new google.maps.LatLng(neLat - mapHeight * boundingBoxPerc, neLong - mapWidth * boundingBoxPerc);
var sw = new google.maps.LatLng(swLat + mapHeight * boundingBoxPerc, swLong + mapWidth * boundingBoxPerc);
map.fitBounds(new google.maps.LatLngBounds(sw, ne));
相关文章:
- 奇怪的Javascript结果
- Javascript(jQuery)给了我奇怪的结果
- JSONP请求返回结果,但也触发error_callback
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- Javascript,输出结果后页面不断刷新
- 这是使用html快照和谷歌获取的预期结果吗?SEO/SPA
- 将地理编码结果转换为php变量以发布到mysql数据库
- AngularJS/HTML/Bootstrap元素用于动态搜索结果
- JQuery:向多个匹配结果添加换行符的最简单方法
- 当查询不在displayField中时,引导Ajax Typeahead不显示结果
- webpack代码拆分了handlerbs文件——结果是文件很大
- JavaScript循环无法正确计算/显示结果
- 相同的RegExp返回不同的结果-第一次是正确的结果,第二次是null
- Node.js使用Series函数(模式?)实现流控制时出现意外结果
- 试图将onChange函数作为道具传递给GrandChlidren,结果是TypeError:这是未定义的
- jQuery使用api获取typeform结果
- 根据条件检查数据库结果
- 什么'这是从第三个函数上的async 1st函数获得结果的更好方法
- Angular,表达式{{}}的结果没有插入到ng-click中
- 谷歌地图API V3:getBounds()转换fitBounds的结果()