【发布时间】:2013-11-21 09:13:39
【问题描述】:
我必须在谷歌地图上一次只用一个标记显示一个位置。
我尝试使用以下代码使用自动缩放和自动居中:
var bounds = new google.maps.LatLngBounds();
bounds.extend(latlng);
map.fitBounds(bounds); // auto zoom
map.panToBounds(bounds); // auto center
还尝试了以下方法:
var bounds = new google.maps.LatLngBounds();
bounds.extend(latlng);
map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
上述两种解决方案都提供了最大缩放,因为我在地图上只显示了一个位置。使用此最大缩放比例时,我无法在地图中看到周围的位置。
是否有任何解决方案可以设置缩放以提供更好的地图视图。
提供适合所有位置的最佳缩放尺寸(如 8、9、10....)也是相当大的一个。
谢谢,
戈帕尔。
【问题讨论】:
-
“适合所有位置的最佳缩放尺寸(如 8、9、10....)”是什么意思?如果您想使缩放适合多个标记,请创建一个包含所有标记的 google.maps.LatLngBounds 并在其上调用 google.maps.Map.fitBounds。然后,您可以将地图置于相关特定标记的中心。
-
您评论中的代码类似于我的问题本身中的代码 sn-p。我只需要显示一个位置。 map.fitBounds() 采用指定位置的最大可用缩放。这样我就无法查看指定位置周围的区域。我想显示显示周围位置以及指定位置的地图。
-
适合所有位置的最佳缩放尺寸(如 8、9、10....) 意味着,如果我使用以下指定的缩放尺寸sn-p:
var mapOptions = { center: latlng, zoom: 10, mapTypeId: google.maps.MapTypeId.ROADMAP };我需要一个特定的缩放大小,它对大多数位置类型都是乐观的 - 街道、州、国家……
标签: javascript google-maps google-maps-api-3