如何根据圆圈的半径调整谷歌地图容器的大小
how to resize google map container according to the circle's radius?
我正在使用google maps v3。
与我的网站成功整合。
但是我需要根据圆的半径调整谷歌地图的大小。这意味着我需要显示那个圆圈覆盖的谷歌地图。
现在我的容器的大小是:600px;
,圆的半径为10000,即10km。
但是如果我增加半径,我需要增加容器的大小。我不知道该怎么做。
有谁能帮帮我吗?
我的谷歌地图的代码如下:
var mapCanvas = document.getElementById('map_canvas');
var myLatLng = new google.maps.LatLng(-33.838265, 151.206481);
var mapOptions = {
center: myLatLng,
zoom: 12,
maxZoom: 12,
minZoom: 12,
disableDefaultUI: true,
draggable: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map($('#map_canvas')[0], mapOptions);
var cmarker = new google.maps.Marker({
map: map,
position: myLatLng
});
// Add circle overlay and bind to marker
var circle = new google.maps.Circle({
map: map,
radius: 10000, // 10 km in metres
fillColor: '#AA0000'
});
circle.bindTo('center', cmarker, 'position');
请帮帮我。
可能的工作流:
- 检索圆的
bounds
(此处半径无关,因为圆的实际大小取决于圆心) - 将西南和东北转换为像素(您可以使用http://qfox.nl/notes/116的函数来实现它)
- x像素差的一半是宽度,y像素差的一半是高度。将map-div的大小调整为这些值
- 触发地图的大小调整事件
-
重新居中。不要使用圆心,因为你必须在圆的几何中心(不等于地理中心)绘制地图。中心像素计算:
x: southwestX + halfOfWidth y: northeastY + halfOfHeight
将此点转换为LatLng并设置居中
结果:http://jsfiddle.net/doktormolle/Bqr3Y/
相关文章:
- wordpress谷歌地图调整大小
- 谷歌地图API v3调整大小事件
- 谷歌地图在我调整网页大小之前显示得不好
- 以谷歌地图为中心,使用标记调整响应大小
- 谷歌地图:不需要调整地图大小
- 谷歌地图 API 在调整大小后不会重新居中
- 谷歌地图调整大小并在标签系统中居中
- 谷歌地图调整大小和居中,意外行为
- 在谷歌地图中动态调整标记图像的大小
- 如何使用谷歌地图调整滚动时的叠加层
- 谷歌地图首先加载灰色,当调整大小时加载图像
- 如何在调整浏览器大小时将谷歌地图标记设置为中心
- 谷歌地图搜索:调整地图大小后,位置搜索不会居中
- 谷歌地图缩放调整在初始化
- 调整谷歌地图的大小不起作用,需要很长时间
- 谷歌地图调整大小和居中似乎不起作用
- 谷歌地图调整大小
- 如何延迟谷歌地图调整大小
- 谷歌地图调整css显示none
- 触发谷歌地图调整大小