【问题标题】:How to set best zoom for marker in google map如何在谷歌地图中为标记设置最佳缩放
【发布时间】: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


【解决方案1】:

请参考链接:http://jsfiddle.net/ZqhPM/3

       var mapOptions = {
             center: new google.maps.LatLng(39.8634242, -97.28818149999998),
             zoom: 8,
            mapTypeId: google.maps.MapTypeId.ROADMAP
       };

如果您想增加缩放级别。请更改 mapOptions 中的缩放选项。

【讨论】:

  • 感谢您的回复。我知道指定缩放属性的方法。在这里,我要求提供适合以下位置类型的缩放大小 - 街道、城市、州......
  • 请尝试使用谷歌地理编码管理 area_level_2 来查找位置类型。然后根据位置类型设置缩放大小。
【解决方案2】:

我需要一个特定的缩放大小,该缩放大小对于大多数位置类型(例如街道、州、国家/地区)都是乐观的

如果您知道街道、州或城市,geocoderreturn 用于该地理编码结果的 google.maps.LatLngBounds 对象(有时是 2,视口和边界,请参阅文档)。

State (Massachusetts)

Country (France)

Street (Broadway, Arlington, MA)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    • 2011-08-15
    • 2012-07-12
    • 2011-01-22
    • 2017-02-16
    相关资源
    最近更新 更多