美国的默认中心?

Nor*_*rse 16 google-maps google-maps-api-3

默认情况下,谷歌提供了如何在伊利诺伊州芝加哥市中心地图的示例:

var chicago = new google.maps.LatLng(41.850033, -87.6500523);
Run Code Online (Sandbox Code Playgroud)

是否可以将默认中心重点放在整个美国?我无处可寻.

Ken*_*ite 17

以芝加哥为中心,然后改变zoom.

这里有一个例子.稍微改写的版本(未经测试!):

gMap = new google.maps.Map(document.getElementById('map')); 
gMap.setCenter(new google.maps.LatLng(41.850033, -87.6500523));
gMap.setZoom(ANewZoomLevel);
Run Code Online (Sandbox Code Playgroud)

您需要尝试根据需要找到合适的缩放级别.

  • 更准确的是黎巴嫩, KS: [39.809734, -98.555620] (2认同)

geo*_*zip 8

一种选择是使用地理编码器.如果您对"美国"进行地理编码,则会返回"建议的视口",可用于居中和缩放地图:

"viewport": {
  "Z": {
    "b": 25.82,
    "d": 49.38
  },
  "ca": {
    "b": -124.38999999999999,
    "d": -66.94
  }
}
Run Code Online (Sandbox Code Playgroud)

地理编码器返回的中心/位置是: 37.09024, -95.712891

翻译为:

"viewport": {
  NorthEast: { lat:49.38, lng:-66.94 },
  SouthWest: { lat:25.82, lng:-124.39 }
}
Run Code Online (Sandbox Code Playgroud)

小提琴

有两个类似的信息,边界和建议的视口.我相信边界包括阿拉斯加和夏威夷,视口可能更适合您的需求.

最简单的方法是手动居中地图并按照您喜欢的方式进行缩放,然后使用getCenter()和getZoom()获取当前值,然后使用它们初始化地图.

下面是一个使用地理编码从下拉列表缩放到国家/地区示例(它使用边界,而不是视口,对于美国而言是不同的)


Ale*_*x V 8

使用美国毗邻地理中心:
堪萨斯州黎巴嫩.可能是地球上最无聊的地方.

http://www.kansastravel.org/geographicalcenter.htm

我发现3,4或5变焦是完美的.

gMap = new google.maps.Map(document.getElementById('map')); 
gMap.setCenter(new google.maps.LatLng(39.8097343, -98.5556199));
gMap.setZoom(3);
Run Code Online (Sandbox Code Playgroud)


Chr*_*ini 6

由于它是整个美国,使用LatLng进入小数似乎很愚蠢.我喜欢:

new google.maps.Map($map, {
    center: new google.maps.LatLng(39, -95),
    zoom: 3
});
Run Code Online (Sandbox Code Playgroud)

jsfiddle的例子


Edw*_*san 5

适合边界效果最好,因为缩放取决于设备宽度。在一台设备上看起来不错的东西对于另一台设备来说太大或太小。因此:

var bounds = new google.maps.LatLngBounds(
  new google.maps.LatLng(25.82, -124.39),
  new google.maps.LatLng(49.38, -66.94)
);

map.fitBounds(bounds);
Run Code Online (Sandbox Code Playgroud)